view mercurial/demandload.py @ 687:44b30755d07c

Hide file hashes in log There are six different kinds of revision numbers and hashes: changeset hash and local number manifest hash and local number file hash and local number We really ought to expose only the changeset hash and local number, so begin hiding the others from the end user manifest hash: 40d07cc930e84a9283d5e03ade23e3454401e148
author Matt Mackall <mpm@selenic.com>
date Tue, 12 Jul 2005 20:55:42 -0800
parents 3db700146536
children f3abe0bdccdd
line wrap: on
line source

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