view tests/test-template-engine @ 9469:7f0f882af23d

config: abort on indented non-continuation lines (issue1829) Previously, as soon as a continuation would be met, "cont" would stay forever set to True, but "item" was set back to "None". This caused the continuation code bits to run every time, until the next "self.get(section, item) + '\n'" which would crash.
author Nicolas Dumazet <nicdumz.commits@gmail.com>
date Sat, 12 Sep 2009 11:17:07 +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