- os.chmod(tmpname, 0o0644)
- os.rename(tmpname, name)
+ if re.search(r"\.gz$", name):
+ f_in = open(tmpname, 'rb')
+ f_out = gzip.open(name, 'wb')
+ shutil.copyfileobj(f_in, f_out)
+ f_in.close();
+ f_out.flush();
+ os.fsync(f_out.fileno())
+ f_out.close();
+ os.remove(tmpname)
+ else:
+ os.rename(tmpname, name)
+ os.chmod(name, 0o0644)