equal
deleted
inserted
replaced
23 from a import * |
23 from a import * |
24 b = __import__(a) |
24 b = __import__(a) |
25 ''' |
25 ''' |
26 |
26 |
27 import __builtin__, os, sys |
27 import __builtin__, os, sys |
|
28 from contextlib import contextmanager |
|
29 |
28 _origimport = __import__ |
30 _origimport = __import__ |
29 |
31 |
30 nothing = object() |
32 nothing = object() |
31 |
33 |
32 try: |
34 try: |
177 __builtin__.__import__ = _demandimport |
179 __builtin__.__import__ = _demandimport |
178 |
180 |
179 def disable(): |
181 def disable(): |
180 "disable global demand-loading of modules" |
182 "disable global demand-loading of modules" |
181 __builtin__.__import__ = _origimport |
183 __builtin__.__import__ = _origimport |
|
184 |
|
185 @contextmanager |
|
186 def deactivated(): |
|
187 "context manager for disabling demandimport in 'with' blocks" |
|
188 demandenabled = isenabled() |
|
189 if demandenabled: |
|
190 disable() |
|
191 |
|
192 try: |
|
193 yield |
|
194 finally: |
|
195 if demandenabled: |
|
196 enable() |