py3: switch to .items() using transformer
authorPulkit Goyal <7895pulkit@gmail.com>
Fri, 07 Oct 2016 15:29:57 +0200
changeset 30052 eaaedad68011
parent 30051 3139ec39b505
child 30053 dbcef8918bbd
py3: switch to .items() using transformer .iteritems() don't exist in Python 3 world. Used the transformer to replace .iteritems() to .items()
mercurial/__init__.py
--- a/mercurial/__init__.py	Fri Oct 07 14:04:49 2016 +0200
+++ b/mercurial/__init__.py	Fri Oct 07 15:29:57 2016 +0200
@@ -305,6 +305,13 @@
                     except IndexError:
                         pass
 
+                # It changes iteritems to items as iteritems is not
+                # present in Python 3 world.
+                if fn == 'iteritems':
+                    yield tokenize.TokenInfo(t.type, 'items',
+                                             t.start, t.end, t.line)
+                    continue
+
             # Emit unmodified token.
             yield t
 
@@ -312,7 +319,7 @@
     # ``replacetoken`` or any mechanism that changes semantics of module
     # loading is changed. Otherwise cached bytecode may get loaded without
     # the new transformation mechanisms applied.
-    BYTECODEHEADER = b'HG\x00\x03'
+    BYTECODEHEADER = b'HG\x00\x04'
 
     class hgloader(importlib.machinery.SourceFileLoader):
         """Custom module loader that transforms source code.