# HG changeset patch # User Jun Wu # Date 2017-08-18 18:08:17 # Node ID 8fb5212652ec1a60522c4d5847fde1c54183a7eb # Parent 6f6c87888b228948e202bd5967dc306bed56af7d demandimport: move HGDEMANDIMPORT test to __init__.py The logic is now shared between demandimport{2,3}. Differential Revision: https://phab.mercurial-scm.org/D445 diff --git a/hgdemandimport/__init__.py b/hgdemandimport/__init__.py --- a/hgdemandimport/__init__.py +++ b/hgdemandimport/__init__.py @@ -13,6 +13,7 @@ from __future__ import absolute_import +import os import sys if sys.version_info[0] >= 3: @@ -68,6 +69,9 @@ demandimport.init(ignore) # Re-export. isenabled = demandimport.isenabled -enable = demandimport.enable disable = demandimport.disable deactivated = demandimport.deactivated + +def enable(): + if os.environ.get('HGDEMANDIMPORT') != 'disable': + demandimport.enable() diff --git a/hgdemandimport/demandimportpy2.py b/hgdemandimport/demandimportpy2.py --- a/hgdemandimport/demandimportpy2.py +++ b/hgdemandimport/demandimportpy2.py @@ -28,7 +28,6 @@ from __future__ import absolute_import import __builtin__ as builtins import contextlib -import os import sys contextmanager = contextlib.contextmanager @@ -285,8 +284,7 @@ def isenabled(): def enable(): "enable global demand-loading of modules" - if os.environ.get('HGDEMANDIMPORT') != 'disable': - builtins.__import__ = _demandimport + builtins.__import__ = _demandimport def disable(): "disable global demand-loading of modules" diff --git a/hgdemandimport/demandimportpy3.py b/hgdemandimport/demandimportpy3.py --- a/hgdemandimport/demandimportpy3.py +++ b/hgdemandimport/demandimportpy3.py @@ -27,7 +27,6 @@ This also has some limitations compared from __future__ import absolute_import import contextlib -import os import sys import importlib.abc @@ -81,8 +80,7 @@ def disable(): pass def enable(): - if os.environ.get('HGDEMANDIMPORT') != 'disable': - sys.path_hooks.insert(0, _makefinder) + sys.path_hooks.insert(0, _makefinder) @contextlib.contextmanager def deactivated():