diff mercurial/__init__.py @ 30052:eaaedad68011

py3: switch to .items() using transformer .iteritems() don't exist in Python 3 world. Used the transformer to replace .iteritems() to .items()
author Pulkit Goyal <7895pulkit@gmail.com>
date Fri, 07 Oct 2016 15:29:57 +0200
parents 3139ec39b505
children c19266edd93e
line wrap: on
line diff
--- 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.