changeset 37626:0a9c0d3480b2

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
author Gregory Szorc <gregory.szorc@gmail.com>
date Mon, 09 Apr 2018 12:23:48 -0700
parents 3ccaf995f549
children cfb32979abcd
files mercurial/thirdparty/concurrent/futures/__init__.py mercurial/thirdparty/concurrent/futures/_base.py mercurial/thirdparty/concurrent/futures/process.py mercurial/thirdparty/concurrent/futures/thread.py
diffstat 4 files changed, 23 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- 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