Mercurial > hg
view tests/test-template-engine @ 9315:fb66a7d3f28f
dispatch: also pass level argument to __import__ for ignored modules
I wanted to check if mercurial.demandimport could speed up the loading of
PyObjC, and ran into this: the level argument for __import__, available in
Python 2.5 and later, is silently dropped when doing an 'import *'. I have no
idea what these arguments mean, but this minor change made it work.
(Oh, and because of that 'from ... import *', PyObjC still took about 2s...)
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Wed, 05 Aug 2009 17:19:37 +0200 |
parents | d4d4da54ab05 |
children | 1a85861f59af |
line wrap: on
line source
#!/bin/sh cat > engine.py << EOF from mercurial import templater class mytemplater(object): def __init__(self, loader, filters, defaults): self.loader = loader def process(self, t, map): tmpl = self.loader(t) for k, v in map.iteritems(): v = templater.stringify(v) tmpl = tmpl.replace('{{%s}}' % k, v) yield tmpl templater.engines['my'] = mytemplater EOF hg init test echo '[extensions]' > test/.hg/hgrc echo "engine = `pwd`/engine.py" >> test/.hg/hgrc cd test cat > mymap << EOF changeset = my:changeset.txt EOF cat > changeset.txt << EOF {{rev}} {{node}} {{author}} EOF hg ci -Ama hg log --style=./mymap