D7013: py3: define and use pycompat.itervalues()
indygreg (Gregory Szorc)
phabricator at mercurial-scm.org
Tue Oct 8 14:21:45 EDT 2019
Closed by commit rHG74802979dd9d: py3: define and use pycompat.itervalues() (authored by indygreg).
This revision was automatically updated to reflect the committed changes.
This revision was not accepted when it landed; it landed in state "Needs Review".
CHANGED PRIOR TO COMMIT
https://phab.mercurial-scm.org/D7013?vs=16936&id=16964#toc
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D7013?vs=16936&id=16964
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D7013/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D7013
AFFECTED FILES
contrib/synthrepo.py
hgext/journal.py
hgext/rebase.py
hgext/remotefilelog/connectionpool.py
hgext/remotefilelog/debugcommands.py
hgext/remotefilelog/repack.py
hgext/transplant.py
mercurial/__init__.py
mercurial/branchmap.py
mercurial/exchangev2.py
mercurial/localrepo.py
mercurial/merge.py
mercurial/patch.py
mercurial/pycompat.py
mercurial/statprof.py
mercurial/ui.py
tests/test-pathencode.py
CHANGE DETAILS
diff --git a/tests/test-pathencode.py b/tests/test-pathencode.py
--- a/tests/test-pathencode.py
+++ b/tests/test-pathencode.py
@@ -67,7 +67,7 @@
counts[c] += 1
for c in '\r/\n':
counts.pop(c, None)
- t = sum(counts.itervalues()) / 100.0
+ t = sum(pycompat.itervalues(counts)) / 100.0
fp.write('probtable = (')
for i, (k, v) in enumerate(
sorted(counts.items(), key=lambda x: x[1], reverse=True)
diff --git a/mercurial/ui.py b/mercurial/ui.py
--- a/mercurial/ui.py
+++ b/mercurial/ui.py
@@ -1966,7 +1966,7 @@
if not self._loggers:
return
activeloggers = [
- l for l in self._loggers.itervalues() if l.tracked(event)
+ l for l in pycompat.itervalues(self._loggers) if l.tracked(event)
]
if not activeloggers:
return
diff --git a/mercurial/statprof.py b/mercurial/statprof.py
--- a/mercurial/statprof.py
+++ b/mercurial/statprof.py
@@ -475,7 +475,7 @@
if i == 0:
sitestat.addself()
- return [s for s in stats.itervalues()]
+ return [s for s in pycompat.itervalues(stats)]
class DisplayFormats:
@@ -744,7 +744,7 @@
site = node.site
visiblechildren = [
c
- for c in node.children.itervalues()
+ for c in pycompat.itervalues(node.children)
if c.count >= (limit * root.count)
]
if site:
@@ -752,7 +752,7 @@
filename = b''
function = b''
if len(node.children) > 0:
- childsite = list(node.children.itervalues())[0].site
+ childsite = list(pycompat.itervalues(node.children))[0].site
filename = (childsite.filename() + b':').ljust(15)
function = childsite.function
@@ -777,7 +777,9 @@
)
finalstring = liststring + codestring
- childrensamples = sum([c.count for c in node.children.itervalues()])
+ childrensamples = sum(
+ [c.count for c in pycompat.itervalues(node.children)]
+ )
# Make frames that performed more than 10% of the operation red
if node.count - childrensamples > (0.1 * root.count):
finalstring = b'\033[91m' + finalstring + b'\033[0m'
diff --git a/mercurial/pycompat.py b/mercurial/pycompat.py
--- a/mercurial/pycompat.py
+++ b/mercurial/pycompat.py
@@ -337,6 +337,7 @@
ret = shlex.split(s.decode('latin-1'), comments, posix)
return [a.encode('latin-1') for a in ret]
+ itervalues = lambda x: x.values()
else:
import cStringIO
@@ -413,6 +414,7 @@
ziplist = zip
rawinput = raw_input
getargspec = inspect.getargspec
+ itervalues = lambda x: x.itervalues()
isjython = sysplatform.startswith(b'java')
diff --git a/mercurial/patch.py b/mercurial/patch.py
--- a/mercurial/patch.py
+++ b/mercurial/patch.py
@@ -1331,7 +1331,11 @@
fixoffset += chunk.removed - chunk.added
return (
sum(
- [h for h in applied.itervalues() if h[0].special() or len(h) > 1],
+ [
+ h
+ for h in pycompat.itervalues(applied)
+ if h[0].special() or len(h) > 1
+ ],
[],
),
{},
diff --git a/mercurial/merge.py b/mercurial/merge.py
--- a/mercurial/merge.py
+++ b/mercurial/merge.py
@@ -702,7 +702,7 @@
"""return counts for updated, merged and removed files in this
session"""
updated, merged, removed = 0, 0, 0
- for r, action in self._results.itervalues():
+ for r, action in pycompat.itervalues(self._results):
if r is None:
updated += 1
elif r == 0:
diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
--- a/mercurial/localrepo.py
+++ b/mercurial/localrepo.py
@@ -1763,7 +1763,7 @@
nodetagscache = {}
for t, n in self._tagscache.tags.iteritems():
nodetagscache.setdefault(n, []).append(t)
- for tags in nodetagscache.itervalues():
+ for tags in pycompat.itervalues(nodetagscache):
tags.sort()
self._tagscache.nodetagscache = nodetagscache
return self._tagscache.nodetagscache.get(node, [])
diff --git a/mercurial/exchangev2.py b/mercurial/exchangev2.py
--- a/mercurial/exchangev2.py
+++ b/mercurial/exchangev2.py
@@ -607,7 +607,7 @@
progress = repo.ui.makeprogress(
_(b'files'),
unit=_(b'chunks'),
- total=sum(len(v) for v in fnodes.itervalues()),
+ total=sum(len(v) for v in pycompat.itervalues(fnodes)),
)
# TODO make batch size configurable
@@ -706,7 +706,7 @@
progress = repo.ui.makeprogress(
_(b'files'),
unit=_(b'chunks'),
- total=sum(len(v) for v in fnodes.itervalues()),
+ total=sum(len(v) for v in pycompat.itervalues(fnodes)),
)
commandmeta = remote.apidescriptor[b'commands'][b'filesdata']
diff --git a/mercurial/branchmap.py b/mercurial/branchmap.py
--- a/mercurial/branchmap.py
+++ b/mercurial/branchmap.py
@@ -91,7 +91,7 @@
clbranchinfo = cl.branchinfo
rbheads = []
closed = []
- for bheads in remotebranchmap.itervalues():
+ for bheads in pycompat.itervalues(remotebranchmap):
rbheads += bheads
for h in bheads:
r = clrev(h)
@@ -350,7 +350,7 @@
def iterheads(self):
""" returns all the heads """
self._verifyall()
- return self._entries.itervalues()
+ return pycompat.itervalues(self._entries)
def copy(self):
"""return an deep copy of the branchcache object"""
diff --git a/mercurial/__init__.py b/mercurial/__init__.py
--- a/mercurial/__init__.py
+++ b/mercurial/__init__.py
@@ -117,7 +117,7 @@
# It changes iteritems/values to items/values as they are not
# present in Python 3 world.
- if fn in ('iteritems', 'itervalues') and not (
+ if fn == 'iteritems' and not (
tokens[i - 1].type == token.NAME
and tokens[i - 1].string == 'def'
):
@@ -131,7 +131,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\x14'
+ BYTECODEHEADER = b'HG\x00\x15'
class hgloader(importlib.machinery.SourceFileLoader):
"""Custom module loader that transforms source code.
diff --git a/hgext/transplant.py b/hgext/transplant.py
--- a/hgext/transplant.py
+++ b/hgext/transplant.py
@@ -100,7 +100,7 @@
if not os.path.isdir(self.path):
os.mkdir(self.path)
fp = self.opener(self.transplantfile, b'w')
- for list in self.transplants.itervalues():
+ for list in pycompat.itervalues(self.transplants):
for t in list:
l, r = map(nodemod.hex, (t.lnode, t.rnode))
fp.write(l + b':' + r + b'\n')
diff --git a/hgext/remotefilelog/repack.py b/hgext/remotefilelog/repack.py
--- a/hgext/remotefilelog/repack.py
+++ b/hgext/remotefilelog/repack.py
@@ -598,7 +598,7 @@
maxchainlen = ui.configint(b'packs', b'maxchainlen', 1000)
byfile = {}
- for entry in ledger.entries.itervalues():
+ for entry in pycompat.itervalues(ledger.entries):
if entry.datasource:
byfile.setdefault(entry.filename, {})[entry.node] = entry
@@ -753,7 +753,7 @@
ui = self.repo.ui
byfile = {}
- for entry in ledger.entries.itervalues():
+ for entry in pycompat.itervalues(ledger.entries):
if entry.historysource:
byfile.setdefault(entry.filename, {})[entry.node] = entry
diff --git a/hgext/remotefilelog/debugcommands.py b/hgext/remotefilelog/debugcommands.py
--- a/hgext/remotefilelog/debugcommands.py
+++ b/hgext/remotefilelog/debugcommands.py
@@ -207,7 +207,7 @@
continue
filepath = os.path.join(root, file)
size, firstnode, mapping = parsefileblob(filepath, decompress)
- for p1, p2, linknode, copyfrom in mapping.itervalues():
+ for p1, p2, linknode, copyfrom in pycompat.itervalues(mapping):
if linknode == nullid:
actualpath = os.path.relpath(root, path)
key = fileserverclient.getcachekey(
diff --git a/hgext/remotefilelog/connectionpool.py b/hgext/remotefilelog/connectionpool.py
--- a/hgext/remotefilelog/connectionpool.py
+++ b/hgext/remotefilelog/connectionpool.py
@@ -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[:]
diff --git a/hgext/rebase.py b/hgext/rebase.py
--- a/hgext/rebase.py
+++ b/hgext/rebase.py
@@ -2288,7 +2288,7 @@
msg = _(b'rebase: (use "hg rebase --abort" to clear broken state)\n')
ui.write(msg)
return
- numrebased = len([i for i in state.itervalues() if i >= 0])
+ numrebased = len([i for i in pycompat.itervalues(state) if i >= 0])
# i18n: column positioning for "hg summary"
ui.write(
_(b'rebase: %s, %s (rebase --continue)\n')
diff --git a/hgext/journal.py b/hgext/journal.py
--- a/hgext/journal.py
+++ b/hgext/journal.py
@@ -164,7 +164,7 @@
pass
while iterable_map:
- value, key, it = order(iterable_map.itervalues())
+ value, key, it = order(pycompat.itervalues(iterable_map))
yield value
try:
iterable_map[key][0] = next(it)
diff --git a/contrib/synthrepo.py b/contrib/synthrepo.py
--- a/contrib/synthrepo.py
+++ b/contrib/synthrepo.py
@@ -213,7 +213,7 @@
for filename, mar, lineadd, lineremove, isbin in parsegitdiff(diff):
if isbin:
continue
- added = sum(lineadd.itervalues(), 0)
+ added = sum(pycompat.itervalues(lineadd), 0)
if mar == 'm':
if added and lineremove:
lineschanged[
To: indygreg, martinvonz, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list