Staging
v0.5.1
https://github.com/python/cpython
Revision 1016b2ff00665203ae01d82520dac497ac89e5e7 authored by Gregory P. Smith ext:(%20%5BGoogle%20Inc.%5D) on 20 November 2016, 21:07:42 UTC, committed by Gregory P. Smith ext:(%20%5BGoogle%20Inc.%5D) on 20 November 2016, 21:07:42 UTC
1 parent bbfe6c3
Raw File
Tip revision: 1016b2ff00665203ae01d82520dac497ac89e5e7 authored by Gregory P. Smith ext:(%20%5BGoogle%20Inc.%5D) on 20 November 2016, 21:07:42 UTC
Rename the new --with-optimiations flag to --enable-optimizations.
Tip revision: 1016b2f
bkfile.py
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
back to top