# HG changeset patch # User timeless # Date 2016-04-06 20:00:49 # Node ID 6041fb8f2da881a323e7068bc156be524fe7d65a # Parent e1d26630443d954e59c321d505900fe97f7adbec pycompat: add empty and queue to handle py3 divergence While the pycompat module will actually handle divergence, please access these properties from the util module: util.queue = Queue.Queue / queue.Queue util.empty = Queue.Empty / queue.Empty diff --git a/mercurial/pycompat.py b/mercurial/pycompat.py new file mode 100644 --- /dev/null +++ b/mercurial/pycompat.py @@ -0,0 +1,18 @@ +# pycompat.py - portability shim for python 3 +# +# This software may be used and distributed according to the terms of the +# GNU General Public License version 2 or any later version. + +"""Mercurial portability shim for python 3. + +This contains aliases to hide python version-specific details from the core. +""" + +from __future__ import absolute_import + +try: + import Queue as _queue +except ImportError: + import queue as _queue +empty = _queue.Empty +queue = _queue.Queue diff --git a/mercurial/util.py b/mercurial/util.py --- a/mercurial/util.py +++ b/mercurial/util.py @@ -43,8 +43,15 @@ from . import ( i18n, osutil, parsers, + pycompat, ) +for attr in ( + 'empty', + 'queue', +): + globals()[attr] = getattr(pycompat, attr) + if os.name == 'nt': from . import windows as platform else: