mercurial/demandload.py
author mpm@selenic.com
Thu, 08 Sep 2005 17:09:31 -0700
changeset 1225 ea90162e210c
parent 262 3db700146536
child 1826 f3abe0bdccdd
permissions -rw-r--r--
Add --debugger global option With this option, hg will drop into the Python debugger on execution. Running 'continue' will execute normally, and the debugger will be reinvoked if an exception is raised.

def demandload(scope, modules):
    class d:
        def __getattr__(self, name):
            mod = self.__dict__["mod"]
            scope = self.__dict__["scope"]
            scope[mod] = __import__(mod, scope, scope, [])
            return getattr(scope[mod], name)

    for m in modules.split():
        dl = d()
        dl.mod = m
        dl.scope = scope
        scope[m] = dl