Mercurial > hg-stable
comparison mercurial/demandload.py @ 262:3db700146536
implement demand loading hack
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
implement demand loading hack
This attempts to speed up start-up times without pushing imports down
into local scopes.
manifest hash: f9c18897e67f7872b44f5c89bdde00edfc3628ce
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCo0kHywK+sNU5EO8RAg5HAKCxRKAz3FXDyv4wScq1ZbwTgfPa2gCfW9K+
dg5nC3Uvp4FilP8waF6liAY=
=dolF
-----END PGP SIGNATURE-----
author | mpm@selenic.com |
---|---|
date | Sun, 05 Jun 2005 10:48:39 -0800 |
parents | |
children | f3abe0bdccdd |
comparison
equal
deleted
inserted
replaced
261:3dae0296551d | 262:3db700146536 |
---|---|
1 def demandload(scope, modules): | |
2 class d: | |
3 def __getattr__(self, name): | |
4 mod = self.__dict__["mod"] | |
5 scope = self.__dict__["scope"] | |
6 scope[mod] = __import__(mod, scope, scope, []) | |
7 return getattr(scope[mod], name) | |
8 | |
9 for m in modules.split(): | |
10 dl = d() | |
11 dl.mod = m | |
12 dl.scope = scope | |
13 scope[m] = dl | |
14 | |
15 |