Show More
@@ -25,6 +25,8 b' These imports will not be delayed:' | |||||
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() | |
@@ -179,3 +181,16 b' def enable():' | |||||
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() |
General Comments 0
You need to be logged in to leave comments.
Login now