Mercurial > hg
comparison tests/test-template-engine @ 8361:d8c5a7f25a40
templater: make the templating engine pluggable to some extent
author | Dirkjan Ochtman <dirkjan@ochtman.nl> |
---|---|
date | Tue, 12 May 2009 12:05:19 +0200 |
parents | |
children | d4d4da54ab05 |
comparison
equal
deleted
inserted
replaced
8360:acc202b71619 | 8361:d8c5a7f25a40 |
---|---|
1 #!/bin/sh | |
2 | |
3 cat > engine.py << EOF | |
4 | |
5 from mercurial import templater | |
6 | |
7 class mytemplater(object): | |
8 def __init__(self, loader, filters, defaults): | |
9 self.loader = loader | |
10 | |
11 def process(self, t, map): | |
12 tmpl = self.loader(t) | |
13 for k, v in map.iteritems(): | |
14 v = templater.stringify(v) | |
15 tmpl = tmpl.replace('{{%s}}' % k, v) | |
16 yield tmpl | |
17 | |
18 templater.engines['my'] = mytemplater | |
19 EOF | |
20 | |
21 hg init test | |
22 echo '[extensions]' > test/.hg/hgrc | |
23 echo "engine = $PWD/engine.py" >> test/.hg/hgrc | |
24 | |
25 cd test | |
26 cat > mymap << EOF | |
27 changeset = my:changeset.txt | |
28 EOF | |
29 | |
30 cat > changeset.txt << EOF | |
31 {{rev}} {{node}} {{author}} | |
32 EOF | |
33 | |
34 hg ci -Ama | |
35 hg log --style=./mymap |