style: Fix Python 2.6 compatibility
authorAndreas Sandberg <andreas.sandberg@arm.com>
Mon, 18 Apr 2016 09:31:38 +0000 (10:31 +0100)
committerAndreas Sandberg <andreas.sandberg@arm.com>
Mon, 18 Apr 2016 09:31:38 +0000 (10:31 +0100)
The style checker code needs to disable autojunk when diffing source
files using Python's difflib. Support for this was only introduced in
Python 2.7, which leads to a TypeError exception on older Python
version. This changeset adds a fallback mechanism for old Python
versions.

util/style/verifiers.py

index 7650d307169df236efed4689df1c52dc84aa41da..a55f5edd8b762f0648cf2ce07fefdd1c0c0038c6 100644 (file)
@@ -57,8 +57,12 @@ from region import *
 from file_types import lang_type
 
 def _modified_regions(old, new):
-    m = SequenceMatcher(a=old, b=new, autojunk=False)
-
+    try:
+        m = SequenceMatcher(a=old, b=new, autojunk=False)
+    except TypeError:
+        # autojunk was introduced in Python 2.7. We need a fallback
+        # mechanism to support old Python versions.
+        m = SequenceMatcher(a=old, b=new)
     regions = Regions()
     for tag, i1, i2, j1, j2 in m.get_opcodes():
         if tag != "equal":