Mercurial > public > mercurial-scm > hg
comparison mercurial/hgweb/webcommands.py @ 43106:d783f945a701
py3: finish porting iteritems() to pycompat and remove source transformer
This commit finishes porting .iteritems() to pycompat.iteritems()
for the mercurial package.
The translation of .iteritems() to .items() was the last conversion
performed by the source transformer. With the porting to pycompat
complete, we no longer have a need for the source transformer. So
the source transformer has been removed. Good riddance! The code
base is now compatible with Python 2 and Python 3.
For the record, as the person who introduced the source transformer,
it brings me joy to delete it. It accomplished its goal to facilitate
a port to Python 3 without overly burdening people on some painful
low-level differences between Python 2 and 3. It is unfortunate we
still have to wallpaper over many differences with the pycompat
shim. But it is what it is.
Differential Revision: https://phab.mercurial-scm.org/D7015
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 07 Oct 2019 00:04:04 -0400 |
parents | c59eb1560c44 |
children | 8ff1ecfadcd1 |
comparison
equal
deleted
inserted
replaced
43105:649d3ac37a12 | 43106:d783f945a701 |
---|---|
562 if path and path[-1:] != b"/": | 562 if path and path[-1:] != b"/": |
563 path += b"/" | 563 path += b"/" |
564 l = len(path) | 564 l = len(path) |
565 abspath = b"/" + path | 565 abspath = b"/" + path |
566 | 566 |
567 for full, n in mf.iteritems(): | 567 for full, n in pycompat.iteritems(mf): |
568 # the virtual path (working copy path) used for the full | 568 # the virtual path (working copy path) used for the full |
569 # (repository) path | 569 # (repository) path |
570 f = decodepath(full) | 570 f = decodepath(full) |
571 | 571 |
572 if f[:l] != path: | 572 if f[:l] != path: |
1523 entries, summary, _doc = h[0:3] | 1523 entries, summary, _doc = h[0:3] |
1524 yield {b'topic': entries[0], b'summary': summary} | 1524 yield {b'topic': entries[0], b'summary': summary} |
1525 | 1525 |
1526 early, other = [], [] | 1526 early, other = [], [] |
1527 primary = lambda s: s.partition(b'|')[0] | 1527 primary = lambda s: s.partition(b'|')[0] |
1528 for c, e in commands.table.iteritems(): | 1528 for c, e in pycompat.iteritems(commands.table): |
1529 doc = _getdoc(e) | 1529 doc = _getdoc(e) |
1530 if b'DEPRECATED' in doc or c.startswith(b'debug'): | 1530 if b'DEPRECATED' in doc or c.startswith(b'debug'): |
1531 continue | 1531 continue |
1532 cmd = primary(c) | 1532 cmd = primary(c) |
1533 if getattr(e[0], 'helpbasic', False): | 1533 if getattr(e[0], 'helpbasic', False): |