##// END OF EJS Templates
demandimport: drop Py3 workarounds from Py2 implementation
Yuya Nishihara -
r33530:05e3fa25 default
parent child Browse files
Show More
@@ -26,27 +26,17 b' These imports will not be delayed:'
26
26
27 from __future__ import absolute_import
27 from __future__ import absolute_import
28
28
29 import __builtin__ as builtins
29 import contextlib
30 import contextlib
30 import os
31 import os
31 import sys
32 import sys
32
33
33 # __builtin__ in Python 2, builtins in Python 3.
34 try:
35 import __builtin__ as builtins
36 except ImportError:
37 import builtins
38
39 contextmanager = contextlib.contextmanager
34 contextmanager = contextlib.contextmanager
40
35
41 _origimport = __import__
36 _origimport = __import__
42
37
43 nothing = object()
38 nothing = object()
44
39
45 # Python 3 doesn't have relative imports nor level -1.
46 level = -1
47 if sys.version_info[0] >= 3:
48 level = 0
49
50 def _hgextimport(importfunc, name, globals, *args, **kwargs):
40 def _hgextimport(importfunc, name, globals, *args, **kwargs):
51 try:
41 try:
52 return importfunc(name, globals, *args, **kwargs)
42 return importfunc(name, globals, *args, **kwargs)
@@ -172,7 +162,7 b' class _demandmod(object):'
172
162
173 _pypy = '__pypy__' in sys.builtin_module_names
163 _pypy = '__pypy__' in sys.builtin_module_names
174
164
175 def _demandimport(name, globals=None, locals=None, fromlist=None, level=level):
165 def _demandimport(name, globals=None, locals=None, fromlist=None, level=-1):
176 if locals is None or name in ignore or fromlist == ('*',):
166 if locals is None or name in ignore or fromlist == ('*',):
177 # these cases we can't really delay
167 # these cases we can't really delay
178 return _hgextimport(_origimport, name, globals, locals, fromlist, level)
168 return _hgextimport(_origimport, name, globals, locals, fromlist, level)
@@ -3,8 +3,9 b''
3 $ . "$TESTDIR/helpers-testrepo.sh"
3 $ . "$TESTDIR/helpers-testrepo.sh"
4 $ cd "$TESTDIR"/..
4 $ cd "$TESTDIR"/..
5
5
6 $ testrepohg files 'set:(**.py)' | sed 's|\\|/|g' \
6 $ testrepohg files 'set:(**.py)' \
7 > | xargs $PYTHON contrib/check-py3-compat.py
7 > -X hgdemandimport/demandimportpy2.py \
8 > | sed 's|\\|/|g' | xargs $PYTHON contrib/check-py3-compat.py
8 contrib/python-zstandard/setup.py not using absolute_import
9 contrib/python-zstandard/setup.py not using absolute_import
9 contrib/python-zstandard/setup_zstd.py not using absolute_import
10 contrib/python-zstandard/setup_zstd.py not using absolute_import
10 contrib/python-zstandard/tests/common.py not using absolute_import
11 contrib/python-zstandard/tests/common.py not using absolute_import
@@ -24,6 +25,7 b''
24
25
25 #if py3exe
26 #if py3exe
26 $ testrepohg files 'set:(**.py) - grep(pygments)' \
27 $ testrepohg files 'set:(**.py) - grep(pygments)' \
28 > -X hgdemandimport/demandimportpy2.py \
27 > -X hgext/fsmonitor/pywatchman \
29 > -X hgext/fsmonitor/pywatchman \
28 > | sed 's|\\|/|g' | xargs $PYTHON3 contrib/check-py3-compat.py \
30 > | sed 's|\\|/|g' | xargs $PYTHON3 contrib/check-py3-compat.py \
29 > | sed 's/[0-9][0-9]*)$/*)/'
31 > | sed 's/[0-9][0-9]*)$/*)/'
General Comments 0
You need to be logged in to leave comments. Login now