view mercurial/demandload.py @ 751:0b245edec124

When pulling from a non hg repository URL (e.g. http://www.kernel.org/hg) you geta pretty obscure error (zlib: uknown compression type). The attached patch modifies hgweb.py and hg.py to supply and check a 'Content-type: application/hg-0.1' HTTP header for the branches, between and changegroup commands, so that we know it's a proper hg repo before snarfing the input. Comments appreciated!
author Muli Ben-Yehuda <mulix@mulix.org>
date Thu, 21 Jul 2005 18:18:43 -0500
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