Save new folder
This commit is contained in:
@ -0,0 +1,26 @@
|
||||
from builtins import open as _orig_open
|
||||
|
||||
def open(file, mode='r', bufsize=-1):
|
||||
if 'w' not in mode:
|
||||
return _orig_open(file, mode, bufsize)
|
||||
import os
|
||||
backup = file + '~'
|
||||
try:
|
||||
os.unlink(backup)
|
||||
except OSError:
|
||||
pass
|
||||
try:
|
||||
os.rename(file, backup)
|
||||
except OSError:
|
||||
return _orig_open(file, mode, bufsize)
|
||||
f = _orig_open(file, mode, bufsize)
|
||||
_orig_close = f.close
|
||||
def close():
|
||||
_orig_close()
|
||||
import filecmp
|
||||
if filecmp.cmp(backup, file, shallow=False):
|
||||
import os
|
||||
os.unlink(file)
|
||||
os.rename(backup, file)
|
||||
f.close = close
|
||||
return f
|
||||
Reference in New Issue
Block a user