diff --git a/gitea.py b/gitea.py index 6183f1b..7d617e4 100644 --- a/gitea.py +++ b/gitea.py @@ -47,8 +47,7 @@ fi """ def write_when_new(doit, filename, content, executable=False): - if executable: - executable = 0o100 # file mode u+x + newmode = 0o755 is executable else 0o644 if content is None: lines = [] else: @@ -61,14 +60,14 @@ def write_when_new(doit, filename, content, executable=False): filemode = os.stat(filename).st_mode except FileNotFoundError: old = None - filemode = 0o644 - if old == content and (filemode & executable == executable): + filemode = 0 + if old == content and (filemode | newmode == filemode): return False if doit: if lines: with open(filename, 'w') as fil: fil.write(content) - os.chmod(filename, filemode + executable) + os.chmod(filename, newmode) else: os.remove(filename) return True