# HG changeset patch # User Paul Boddie # Date 1414767555 -3600 # Node ID 10b7db36b35e5005b552cad18bbbe21866d2708b # Parent 7960e22f96a7966756656d5d5cdcf8be929541b6 Prevent chmod failures from causing broader failures. diff -r 7960e22f96a7 -r 10b7db36b35e imip_store.py --- a/imip_store.py Fri Oct 31 00:33:39 2014 +0100 +++ b/imip_store.py Fri Oct 31 15:59:15 2014 +0100 @@ -9,6 +9,12 @@ def check_dir(base, dir): return commonprefix([base, abspath(dir)]) == base +def fix_permissions(filename): + try: + chmod(filename, 0660) + except OSError: + pass + def make_calendar(fragment, method=None): return ("VCALENDAR", {}, (method and [("METHOD", {}, method)] or []) + @@ -80,7 +86,7 @@ to_stream(f, node) finally: f.close() - chmod(filename, 0660) + fix_permissions(filename) return True @@ -115,7 +121,7 @@ f.write("\t".join(item) + "\n") finally: f.close() - chmod(filename, 0660) + fix_permissions(filename) return True @@ -147,7 +153,7 @@ print >>f, request finally: f.close() - chmod(filename, 0660) + fix_permissions(filename) return True @@ -164,7 +170,7 @@ print >>f, request finally: f.close() - chmod(filename, 0660) + fix_permissions(filename) return True @@ -209,7 +215,7 @@ to_stream(f, make_calendar([("VFREEBUSY", {}, record)], "PUBLISH")) finally: f.close() - chmod(filename, 0660) + fix_permissions(filename) return True