Issue #9598: untabify.py will now respect encoding cookie in the files it processes
diff --git a/Tools/scripts/untabify.py b/Tools/scripts/untabify.py
index ef63c41..4b67c15 100755
--- a/Tools/scripts/untabify.py
+++ b/Tools/scripts/untabify.py
@@ -5,7 +5,7 @@
import os
import sys
import getopt
-
+import tokenize
def main():
tabsize = 8
@@ -27,8 +27,9 @@
def process(filename, tabsize, verbose=True):
try:
- with open(filename) as f:
+ with tokenize.open(filename) as f:
text = f.read()
+ encoding = f.encoding
except IOError as msg:
print("%r: I/O error: %s" % (filename, msg))
return
@@ -44,7 +45,7 @@
os.rename(filename, backup)
except os.error:
pass
- with open(filename, "w") as f:
+ with open(filename, "w", encoding=encoding) as f:
f.write(newtext)
if verbose:
print(filename)