[PATCH 1 of 7] pycompat: add empty and queue to handle py3 divergence
Yuya Nishihara
yuya at tcha.org
Thu Apr 7 08:21:41 EDT 2016
On Wed, 06 Apr 2016 16:57:38 -0500, timeless wrote:
> # HG changeset patch
> # User timeless <timeless at mozdev.org>
> # Date 1459972849 0
> # Wed Apr 06 20:00:49 2016 +0000
> # Node ID 10f4f7b32691075ed2f3d9aa9301d4e54006ac55
> # Parent ea86cdcd9b50bf38c6b9dd7bbaa04b9c8cc0aefb
> 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 @@
> +# util.py - Mercurial utility functions and platform specific implementations
> +#
> +# 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
Again, it doesn't work with demandimport. It should be:
try:
import Queue
queue = Queue.Queue
except ImportError:
...
StringIO has the same error.
More information about the Mercurial-devel
mailing list