##// 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 27 from __future__ import absolute_import
28 28
29 import __builtin__ as builtins
29 30 import contextlib
30 31 import os
31 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 34 contextmanager = contextlib.contextmanager
40 35
41 36 _origimport = __import__
42 37
43 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 40 def _hgextimport(importfunc, name, globals, *args, **kwargs):
51 41 try:
52 42 return importfunc(name, globals, *args, **kwargs)
@@ -172,7 +162,7 b' class _demandmod(object):'
172 162
173 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 166 if locals is None or name in ignore or fromlist == ('*',):
177 167 # these cases we can't really delay
178 168 return _hgextimport(_origimport, name, globals, locals, fromlist, level)
@@ -3,8 +3,9 b''
3 3 $ . "$TESTDIR/helpers-testrepo.sh"
4 4 $ cd "$TESTDIR"/..
5 5
6 $ testrepohg files 'set:(**.py)' | sed 's|\\|/|g' \
7 > | xargs $PYTHON contrib/check-py3-compat.py
6 $ testrepohg files 'set:(**.py)' \
7 > -X hgdemandimport/demandimportpy2.py \
8 > | sed 's|\\|/|g' | xargs $PYTHON contrib/check-py3-compat.py
8 9 contrib/python-zstandard/setup.py not using absolute_import
9 10 contrib/python-zstandard/setup_zstd.py not using absolute_import
10 11 contrib/python-zstandard/tests/common.py not using absolute_import
@@ -24,6 +25,7 b''
24 25
25 26 #if py3exe
26 27 $ testrepohg files 'set:(**.py) - grep(pygments)' \
28 > -X hgdemandimport/demandimportpy2.py \
27 29 > -X hgext/fsmonitor/pywatchman \
28 30 > | sed 's|\\|/|g' | xargs $PYTHON3 contrib/check-py3-compat.py \
29 31 > | sed 's/[0-9][0-9]*)$/*)/'
General Comments 0
You need to be logged in to leave comments. Login now