- file_descriptor = codecs.open(self.filename, "w", "utf-8")
-
- # if it's marked private, chmod it appropriately
- if self.filename in self.universe.private_files and oct(
- stat.S_IMODE(os.stat(self.filename)[stat.ST_MODE])
- ) != 0o0600:
- os.chmod(self.filename, 0o0600)
+ if self.filename in self.universe.private_files:
+ old_umask = os.umask(private_umask)
+ file_descriptor = open(self.filename, "w")
+ if oct(stat.S_IMODE(os.stat(
+ self.filename)[stat.ST_MODE])) != private_file_mode:
+ # if it's marked private, chmod it appropriately
+ os.chmod(self.filename, private_file_mode)
+ else:
+ old_umask = os.umask(normal_umask)
+ file_descriptor = open(self.filename, "w")
+ os.umask(old_umask)