Mercurial > public > mercurial-scm > evolve
view hgext3rd/topic/compat.py @ 4743:92e3db149d7d
py3: call branchmap.items() on py3 and continue to call iteritems() on py2
Mercurial's source transformer also replaces the 'def iteritems(' in
branchmap by 'def items(', so we need to call whichever version is
there.
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Sat, 13 Jul 2019 00:17:03 -0700 |
parents | 29c413a7dfb5 |
children | 03690f8d2b0a |
line wrap: on
line source
# Copyright 2017 FUJIWARA Katsunori <foozy@lares.dti.ne.jp> # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. """ Compatibility module """ from __future__ import absolute_import from mercurial import ( obsolete, pycompat, ) getmarkers = None successorssets = None try: from mercurial import obsutil getmarkers = getattr(obsutil, 'getmarkers', None) successorssets = getattr(obsutil, 'successorssets', None) except ImportError: pass if getmarkers is None: getmarkers = obsolete.getmarkers if successorssets is None: successorssets = obsolete.successorssets if pycompat.ispy3: def branchmapitems(branchmap): return branchmap.items() else: def branchmapitems(branchmap): return branchmap.iteritems()