futures: switch to absolute and relative imports
authorGregory Szorc <gregory.szorc@gmail.com>
Mon, 09 Apr 2018 12:23:48 -0700
changeset 37626 0a9c0d3480b2
parent 37625 3ccaf995f549
child 37627 cfb32979abcd
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
mercurial/thirdparty/concurrent/futures/__init__.py
mercurial/thirdparty/concurrent/futures/_base.py
mercurial/thirdparty/concurrent/futures/process.py
mercurial/thirdparty/concurrent/futures/thread.py
--- 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