mercurial/demandload.py
changeset 262 3db700146536
child 1826 f3abe0bdccdd
equal deleted inserted replaced
261:3dae0296551d 262:3db700146536
       
     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