Mercurial > public > mercurial-scm > hg-stable
diff mercurial/templater.py @ 31926:932241b8c644
templater: add dict() constructor
It's troublesome to build JSON by template, so let's add programmatic way.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Mon, 03 Apr 2017 22:54:06 +0900 |
parents | 0f41f1e3c75c |
children | 2abc556dbe92 |
line wrap: on
line diff
--- a/mercurial/templater.py Wed Apr 05 22:28:09 2017 +0900 +++ b/mercurial/templater.py Mon Apr 03 22:54:06 2017 +0900 @@ -532,6 +532,14 @@ # i18n: "date" is a keyword raise error.ParseError(_("date expects a date information")) +@templatefunc('dict([key=value...])', argspec='**kwargs') +def dict_(context, mapping, args): + """Construct a dict from key-value pairs.""" + data = util.sortdict() + data.update((k, evalfuncarg(context, mapping, v)) + for k, v in args['kwargs'].iteritems()) + return templatekw.hybriddict(data) + @templatefunc('diff([includepattern [, excludepattern]])') def diff(context, mapping, args): """Show a diff, optionally