contrib/import-checker.py
branchstable
changeset 43415 a8454e846736
parent 43084 c2e284cee333
child 43596 0ad5d6c4bfad
--- a/contrib/import-checker.py	Mon Nov 04 21:17:34 2019 -0800
+++ b/contrib/import-checker.py	Mon Nov 04 20:46:19 2019 -0800
@@ -4,6 +4,7 @@
 
 import ast
 import collections
+import io
 import os
 import sys
 
@@ -754,7 +755,11 @@
             yield src.read(), modname, f, 0
             py = True
     if py or f.endswith('.t'):
-        with open(f, 'r') as src:
+        # Strictly speaking we should sniff for the magic header that denotes
+        # Python source file encoding. But in reality we don't use anything
+        # other than ASCII (mainly) and UTF-8 (in a few exceptions), so
+        # simplicity is fine.
+        with io.open(f, 'r', encoding='utf-8') as src:
             for script, modname, t, line in embedded(f, modname, src):
                 yield script, modname.encode('utf8'), t, line