summaryrefslogtreecommitdiffstats
path: root/Tools/scripts/findnocoding.py
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/scripts/findnocoding.py')
-rwxr-xr-xTools/scripts/findnocoding.py66
1 files changed, 34 insertions, 32 deletions
diff --git a/Tools/scripts/findnocoding.py b/Tools/scripts/findnocoding.py
index e49fc42..a494a48 100755
--- a/Tools/scripts/findnocoding.py
+++ b/Tools/scripts/findnocoding.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
"""List all those Python files that require a coding directive
@@ -28,8 +28,8 @@ except ImportError:
pysource = pysource()
- print >>sys.stderr, ("The pysource module is not available; "
- "no sophisticated Python source file search will be done.")
+ print("The pysource module is not available; "
+ "no sophisticated Python source file search will be done.", file=sys.stderr)
decl_re = re.compile(r"coding[=:]\s*([-\w.]+)")
@@ -42,7 +42,7 @@ def get_declaration(line):
def has_correct_encoding(text, codec):
try:
- unicode(text, codec)
+ str(text, codec)
except UnicodeDecodeError:
return False
else:
@@ -62,11 +62,11 @@ def needs_declaration(fullpath):
infile.close()
return False
- # check the whole file for non-ASCII characters
+ # check the whole file for non utf-8 characters
rest = infile.read()
infile.close()
- if has_correct_encoding(line1+line2+rest, "ascii"):
+ if has_correct_encoding(line1+line2+rest, "utf-8"):
return False
return True
@@ -76,29 +76,31 @@ usage = """Usage: %s [-cd] paths...
-c: recognize Python source files trying to compile them
-d: debug output""" % sys.argv[0]
-try:
- opts, args = getopt.getopt(sys.argv[1:], 'cd')
-except getopt.error, msg:
- print >>sys.stderr, msg
- print >>sys.stderr, usage
- sys.exit(1)
-
-is_python = pysource.looks_like_python
-debug = False
-
-for o, a in opts:
- if o == '-c':
- is_python = pysource.can_be_compiled
- elif o == '-d':
- debug = True
-
-if not args:
- print >>sys.stderr, usage
- sys.exit(1)
-
-for fullpath in pysource.walk_python_files(args, is_python):
- if debug:
- print "Testing for coding: %s" % fullpath
- result = needs_declaration(fullpath)
- if result:
- print fullpath
+if __name__ == '__main__':
+
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], 'cd')
+ except getopt.error as msg:
+ print(msg, file=sys.stderr)
+ print(usage, file=sys.stderr)
+ sys.exit(1)
+
+ is_python = pysource.looks_like_python
+ debug = False
+
+ for o, a in opts:
+ if o == '-c':
+ is_python = pysource.can_be_compiled
+ elif o == '-d':
+ debug = True
+
+ if not args:
+ print(usage, file=sys.stderr)
+ sys.exit(1)
+
+ for fullpath in pysource.walk_python_files(args, is_python):
+ if debug:
+ print("Testing for coding: %s" % fullpath)
+ result = needs_declaration(fullpath)
+ if result:
+ print(fullpath)