mercurial/demandload.py
author mpm@selenic.com
Tue, 14 Jun 2005 13:53:22 -0800
changeset 333 d60a3060f9e2
parent 262 3db700146536
child 1826 f3abe0bdccdd
permissions -rw-r--r--
hg rawcommit: fix files arg conflict -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 hg rawcommit: fix files arg conflict I try to sync with tip again. I found out the raw commit is broken for me because the keyword "files" is list as named argument as well so it will not show up in the rc dictionary. Here is my quick fix to make it work with my script again. Chris manifest hash: 10f85636e02cb4b19b319b7ebbfd2ec5096c3a6d -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCr1HSywK+sNU5EO8RArWMAJoD67SPN4QJcVaHBVh9FiNXWy80FQCePpA/ BZ63h+bqXESeMMLb7Kh5ytA= =69X0 -----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