equal
deleted
inserted
replaced
107 else: |
107 else: |
108 tmpfd, tmpfile = tempfile.mkstemp(dir=rcachedir, prefix=osp.basename(cachefile)) |
108 tmpfd, tmpfile = tempfile.mkstemp(dir=rcachedir, prefix=osp.basename(cachefile)) |
109 with os.fdopen(tmpfd, 'w') as stream: |
109 with os.fdopen(tmpfd, 'w') as stream: |
110 stream.write(content) |
110 stream.write(content) |
111 try: |
111 try: |
|
112 mode = os.stat(sourcefile).st_mode |
|
113 os.chmod(tmpfile, mode) |
|
114 except IOError: |
|
115 self.warning('Cannot set access mode for %s; you may encouter ' |
|
116 'file permissions issues', cachefile) |
|
117 try: |
112 os.rename(tmpfile, cachefile) |
118 os.rename(tmpfile, cachefile) |
113 except OSError as err: |
119 except OSError as err: |
114 if err.errno != errno.EEXIST: |
120 if err.errno != errno.EEXIST: |
115 raise |
121 raise |
116 # Under windows, os.rename won't overwrite an existing file |
122 # Under windows, os.rename won't overwrite an existing file |