Issue #9598: untabify.py will now respect encoding cookie in the files it processes

This commit is contained in:
Alexander Belopolsky 2010-11-30 17:30:43 +00:00
parent ff2a4ba78c
commit 73f382de1c
1 changed files with 4 additions and 3 deletions

View File

@ -5,7 +5,7 @@
import os import os
import sys import sys
import getopt import getopt
import tokenize
def main(): def main():
tabsize = 8 tabsize = 8
@ -27,8 +27,9 @@ def main():
def process(filename, tabsize, verbose=True): def process(filename, tabsize, verbose=True):
try: try:
with open(filename) as f: with tokenize.open(filename) as f:
text = f.read() text = f.read()
encoding = f.encoding
except IOError as msg: except IOError as msg:
print("%r: I/O error: %s" % (filename, msg)) print("%r: I/O error: %s" % (filename, msg))
return return
@ -44,7 +45,7 @@ def process(filename, tabsize, verbose=True):
os.rename(filename, backup) os.rename(filename, backup)
except os.error: except os.error:
pass pass
with open(filename, "w") as f: with open(filename, "w", encoding=encoding) as f:
f.write(newtext) f.write(newtext)
if verbose: if verbose:
print(filename) print(filename)