diff hgext/remotefilelog/connectionpool.py @ 43104:74802979dd9d

py3: define and use pycompat.itervalues() .itervalues() only exists on Python 2. Python 3's equivalent is .values(). But we don't want to blindly use .values() everywhere because on Python 2, it will create a list, which will have performance implications. This commit introduces pycompat.itervalues() which will call the appropriate method on the passed object. We update all callers of obj.itervalues() to pycompat.itervalues(obj) instead. With this commit, the only source tranforming remaining is for iteritems(). Victory is near... Differential Revision: https://phab.mercurial-scm.org/D7013
author Gregory Szorc <gregory.szorc@gmail.com>
date Sun, 06 Oct 2019 17:59:15 -0400
parents 687b865b95ad
children 4aa72cdf616f
line wrap: on
line diff
--- a/hgext/remotefilelog/connectionpool.py	Sun Oct 06 17:45:05 2019 -0400
+++ b/hgext/remotefilelog/connectionpool.py	Sun Oct 06 17:59:15 2019 -0400
@@ -10,6 +10,7 @@
 from mercurial import (
     extensions,
     hg,
+    pycompat,
     sshpeer,
     util,
 )
@@ -59,7 +60,7 @@
         return conn
 
     def close(self):
-        for pathpool in self._pool.itervalues():
+        for pathpool in pycompat.itervalues(self._pool):
             for conn in pathpool:
                 conn.close()
             del pathpool[:]