author | Bryan O'Sullivan <bos@serpentine.com> |
Thu, 18 Aug 2005 14:58:14 -0800 | |
changeset 943 | e8e5db72ed51 |
parent 262 | 3db700146536 |
child 1826 | f3abe0bdccdd |
permissions | -rw-r--r-- |
262 | 1 |
def demandload(scope, modules): |
2 |
class d: |
|
3 |
def __getattr__(self, name): |
|
4 |
mod = self.__dict__["mod"] |
|
5 |
scope = self.__dict__["scope"] |
|
6 |
scope[mod] = __import__(mod, scope, scope, []) |
|
7 |
return getattr(scope[mod], name) |
|
8 |
||
9 |
for m in modules.split(): |
|
10 |
dl = d() |
|
11 |
dl.mod = m |
|
12 |
dl.scope = scope |
|
13 |
scope[m] = dl |
|
14 |
||
15 |