1.1 --- a/imip_store.py Fri Oct 31 00:33:39 2014 +0100
1.2 +++ b/imip_store.py Fri Oct 31 15:59:15 2014 +0100
1.3 @@ -9,6 +9,12 @@
1.4 def check_dir(base, dir):
1.5 return commonprefix([base, abspath(dir)]) == base
1.6
1.7 +def fix_permissions(filename):
1.8 + try:
1.9 + chmod(filename, 0660)
1.10 + except OSError:
1.11 + pass
1.12 +
1.13 def make_calendar(fragment, method=None):
1.14 return ("VCALENDAR", {},
1.15 (method and [("METHOD", {}, method)] or []) +
1.16 @@ -80,7 +86,7 @@
1.17 to_stream(f, node)
1.18 finally:
1.19 f.close()
1.20 - chmod(filename, 0660)
1.21 + fix_permissions(filename)
1.22
1.23 return True
1.24
1.25 @@ -115,7 +121,7 @@
1.26 f.write("\t".join(item) + "\n")
1.27 finally:
1.28 f.close()
1.29 - chmod(filename, 0660)
1.30 + fix_permissions(filename)
1.31
1.32 return True
1.33
1.34 @@ -147,7 +153,7 @@
1.35 print >>f, request
1.36 finally:
1.37 f.close()
1.38 - chmod(filename, 0660)
1.39 + fix_permissions(filename)
1.40
1.41 return True
1.42
1.43 @@ -164,7 +170,7 @@
1.44 print >>f, request
1.45 finally:
1.46 f.close()
1.47 - chmod(filename, 0660)
1.48 + fix_permissions(filename)
1.49
1.50 return True
1.51
1.52 @@ -209,7 +215,7 @@
1.53 to_stream(f, make_calendar([("VFREEBUSY", {}, record)], "PUBLISH"))
1.54 finally:
1.55 f.close()
1.56 - chmod(filename, 0660)
1.57 + fix_permissions(filename)
1.58
1.59 return True
1.60