mercurial/demandload.py
author mpm@selenic.com
Sat, 02 Jul 2005 18:29:54 -0800
changeset 580 353a2ce50423
parent 262 3db700146536
child 1826 f3abe0bdccdd
permissions -rw-r--r--
[PATCH] New export patch -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 [PATCH] New export patch From: Bryan O'Sullivan <bos@serpentine.com> Modify export command to accept rev ranges and output file spec. It can now export a range of revisions, and print exported patches to files whose names are generated using format strings. manifest hash: e0085c205cdc31a168bcd25c85772ef00d53031d -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCx02iywK+sNU5EO8RAtCKAJ0V2K9+i1OGa27KyC5/nq3m+OdvtgCgpnav 3vfEODMzJVOZoJt9wzI1UCg= =YAdI -----END PGP SIGNATURE-----

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