check-code: handle py3 open divergence
authortimeless <timeless@mozdev.org>
Wed, 11 May 2016 01:46:11 +0000
changeset 29145 c641b8dfb98c
parent 29144 f8b87a779c87
child 29146 b175d9cc3ee8
check-code: handle py3 open divergence open() really wants an encoding attribute
contrib/check-code.py
--- a/contrib/check-code.py	Wed May 11 01:44:39 2016 +0000
+++ b/contrib/check-code.py	Wed May 11 01:46:11 2016 +0000
@@ -26,6 +26,11 @@
 import os
 import re
 import sys
+if sys.version_info[0] < 3:
+    opentext = open
+else:
+    def opentext(f):
+        return open(f, encoding='ascii')
 try:
     xrange
 except NameError:
@@ -491,8 +496,12 @@
     result = True
 
     try:
-        with open(f) as fp:
-            pre = post = fp.read()
+        with opentext(f) as fp:
+            try:
+                pre = post = fp.read()
+            except UnicodeDecodeError as e:
+                print("%s while reading %s" % (e, f))
+                return result
     except IOError as e:
         print("Skipping %s, %s" % (f, str(e).split(':', 1)[0]))
         return result