futures: switch to absolute and relative imports
This makes the package conform with our importing policy,
silencing a number of warnings. It also makes the package usable
when it isn't named "concurrent.futures."
Differential Revision: https://phab.mercurial-scm.org/D3264
--- a/mercurial/thirdparty/concurrent/futures/__init__.py Mon Apr 09 12:22:31 2018 -0700
+++ b/mercurial/thirdparty/concurrent/futures/__init__.py Mon Apr 09 12:23:48 2018 -0700
@@ -3,21 +3,25 @@
"""Execute computations asynchronously using threads or processes."""
+from __future__ import absolute_import
+
__author__ = 'Brian Quinlan (brian@sweetapp.com)'
-from concurrent.futures._base import (FIRST_COMPLETED,
- FIRST_EXCEPTION,
- ALL_COMPLETED,
- CancelledError,
- TimeoutError,
- Future,
- Executor,
- wait,
- as_completed)
-from concurrent.futures.thread import ThreadPoolExecutor
+from ._base import (
+ FIRST_COMPLETED,
+ FIRST_EXCEPTION,
+ ALL_COMPLETED,
+ CancelledError,
+ TimeoutError,
+ Future,
+ Executor,
+ wait,
+ as_completed,
+)
+from .thread import ThreadPoolExecutor
try:
- from concurrent.futures.process import ProcessPoolExecutor
+ from .process import ProcessPoolExecutor
except ImportError:
# some platforms don't have multiprocessing
pass
--- a/mercurial/thirdparty/concurrent/futures/_base.py Mon Apr 09 12:22:31 2018 -0700
+++ b/mercurial/thirdparty/concurrent/futures/_base.py Mon Apr 09 12:23:48 2018 -0700
@@ -1,6 +1,8 @@
# Copyright 2009 Brian Quinlan. All Rights Reserved.
# Licensed to PSF under a Contributor Agreement.
+from __future__ import absolute_import
+
import collections
import logging
import threading
--- a/mercurial/thirdparty/concurrent/futures/process.py Mon Apr 09 12:22:31 2018 -0700
+++ b/mercurial/thirdparty/concurrent/futures/process.py Mon Apr 09 12:23:48 2018 -0700
@@ -43,8 +43,10 @@
_ResultItems in "Request Q"
"""
+from __future__ import absolute_import
+
import atexit
-from concurrent.futures import _base
+from . import _base
import Queue as queue
import multiprocessing
import threading
--- a/mercurial/thirdparty/concurrent/futures/thread.py Mon Apr 09 12:22:31 2018 -0700
+++ b/mercurial/thirdparty/concurrent/futures/thread.py Mon Apr 09 12:23:48 2018 -0700
@@ -3,8 +3,10 @@
"""Implements ThreadPoolExecutor."""
+from __future__ import absolute_import
+
import atexit
-from concurrent.futures import _base
+from . import _base
import itertools
import Queue as queue
import threading