Issue #15539: Fix a backup file creation in pindent.py on Windows.
This commit is contained in:
commit
1829bb4591
|
@ -59,6 +59,7 @@ class PindentTests(unittest.TestCase):
|
|||
return '\n'.join(line.lstrip() for line in data.splitlines()) + '\n'
|
||||
|
||||
def test_selftest(self):
|
||||
self.maxDiff = None
|
||||
with temp_dir() as directory:
|
||||
data_path = os.path.join(directory, '_test.py')
|
||||
with open(self.script) as f:
|
||||
|
|
|
@ -370,6 +370,23 @@ def reformat_string(source, stepsize = STEPSIZE, tabsize = TABSIZE, expandtabs =
|
|||
return output.getvalue()
|
||||
# end def reformat_string
|
||||
|
||||
def make_backup(filename):
|
||||
import os, os.path
|
||||
backup = filename + '~'
|
||||
if os.path.lexists(backup):
|
||||
try:
|
||||
os.remove(backup)
|
||||
except OSError:
|
||||
print("Can't remove backup %r" % (backup,), file=sys.stderr)
|
||||
# end try
|
||||
# end if
|
||||
try:
|
||||
os.rename(filename, backup)
|
||||
except OSError:
|
||||
print("Can't rename %r to %r" % (filename, backup), file=sys.stderr)
|
||||
# end try
|
||||
# end def make_backup
|
||||
|
||||
def complete_file(filename, stepsize = STEPSIZE, tabsize = TABSIZE, expandtabs = EXPANDTABS):
|
||||
with open(filename, 'r') as f:
|
||||
source = f.read()
|
||||
|
@ -377,10 +394,7 @@ def complete_file(filename, stepsize = STEPSIZE, tabsize = TABSIZE, expandtabs =
|
|||
result = complete_string(source, stepsize, tabsize, expandtabs)
|
||||
if source == result: return 0
|
||||
# end if
|
||||
import os
|
||||
try: os.rename(filename, filename + '~')
|
||||
except OSError: pass
|
||||
# end try
|
||||
make_backup(filename)
|
||||
with open(filename, 'w') as f:
|
||||
f.write(result)
|
||||
# end with
|
||||
|
@ -394,10 +408,7 @@ def delete_file(filename, stepsize = STEPSIZE, tabsize = TABSIZE, expandtabs = E
|
|||
result = delete_string(source, stepsize, tabsize, expandtabs)
|
||||
if source == result: return 0
|
||||
# end if
|
||||
import os
|
||||
try: os.rename(filename, filename + '~')
|
||||
except OSError: pass
|
||||
# end try
|
||||
make_backup(filename)
|
||||
with open(filename, 'w') as f:
|
||||
f.write(result)
|
||||
# end with
|
||||
|
@ -411,10 +422,7 @@ def reformat_file(filename, stepsize = STEPSIZE, tabsize = TABSIZE, expandtabs =
|
|||
result = reformat_string(source, stepsize, tabsize, expandtabs)
|
||||
if source == result: return 0
|
||||
# end if
|
||||
import os
|
||||
try: os.rename(filename, filename + '~')
|
||||
except OSError: pass
|
||||
# end try
|
||||
make_backup(filename)
|
||||
with open(filename, 'w') as f:
|
||||
f.write(result)
|
||||
# end with
|
||||
|
|
Loading…
Reference in New Issue