Mercurial > public > mercurial-scm > hg
diff mercurial/demandload.py @ 2310:d01eac5968c6
demandload: implement __call__
demandload can now load functions and classes, and not just modules.
(So if you access foo() rather than just foo.* it still works).
demandload still doesn't work for constants.
author | John Arbash Meinel <john@arbash-meinel.com> |
---|---|
date | Thu, 18 May 2006 13:52:55 -0700 |
parents | f3abe0bdccdd |
children | a8a7ce1a01a5 |
line wrap: on
line diff
--- a/mercurial/demandload.py Thu May 18 13:48:12 2006 -0700 +++ b/mercurial/demandload.py Thu May 18 13:52:55 2006 -0700 @@ -81,6 +81,10 @@ return getattr(importer.module(), target) + def __call__(self, *args, **kwargs): + target = object.__getattribute__(self, 'module')() + return target(*args, **kwargs) + def demandload(scope, modules): '''import modules into scope when each is first used.