[PATCH 4 of 7] pycompat: add iteritems itervalues

timeless timeless at mozdev.org
Mon Apr 11 18:48:58 EDT 2016


# HG changeset patch
# User timeless <timeless at mozdev.org>
# Date 1460134304 0
#      Fri Apr 08 16:51:44 2016 +0000
# Node ID dec8f62743049c2a93e92f44f13d7f9740cb1ea6
# Parent  112ca3e0b4f25cf0d3503b93e94e8dba887923c9
pycompat: add iteritems itervalues

diff --git a/mercurial/pycompat.py b/mercurial/pycompat.py
--- a/mercurial/pycompat.py
+++ b/mercurial/pycompat.py
@@ -11,6 +11,20 @@
 from __future__ import absolute_import
 
 try:
+    dict.iteritems
+    # Python 2
+    def iteritems(d):
+        return d.iteritems()
+    def itervalues(d):
+        return d.itervalues()
+except AttributeError:
+    # Python 3
+    def iteritems(d):
+        return iter(d.items())
+    def itervalues(d):
+        return iter(d.values())
+
+try:
     import cStringIO as io
     stringio = io.StringIO
 except ImportError:
diff --git a/mercurial/util.py b/mercurial/util.py
--- a/mercurial/util.py
+++ b/mercurial/util.py
@@ -47,6 +47,8 @@
 
 for attr in (
     'empty',
+    'iteritems',
+    'itervalues',
     'queue',
     'urlerr',
     # we do import urlreq, but we do it outside the loop


More information about the Mercurial-devel mailing list