Mercurial > public > mercurial-scm > hg-stable
diff mercurial/templateutil.py @ 37022:c97b936d8bb5
templater: use named function to expand template against mapping dict (API)
And replace __call__(t, **mapping) in favor of generate(t, mapping). I prefer
a named function here since the templater isn't a simple function-like object.
.. api::
The templater is no longer callable. Use ``templater.generate(t, mapping)``
instead of ``templater(t, **pycompat.strkwargs(mapping))``.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Fri, 16 Mar 2018 21:39:32 +0900 |
parents | 255f635c3204 |
children | aa97e06a1912 |
line wrap: on
line diff
--- a/mercurial/templateutil.py Mon Mar 19 21:09:23 2018 +0900 +++ b/mercurial/templateutil.py Fri Mar 16 21:39:32 2018 +0900 @@ -184,13 +184,12 @@ expand 'end_foos'. ''' - strmapping = pycompat.strkwargs(mapping) if not plural: plural = name + 's' if not values: noname = 'no_' + plural if noname in templ: - yield templ(noname, **strmapping) + yield templ.generate(noname, mapping) return if name not in templ: if isinstance(values[0], bytes): @@ -203,7 +202,7 @@ return startname = 'start_' + plural if startname in templ: - yield templ(startname, **strmapping) + yield templ.generate(startname, mapping) vmapping = mapping.copy() def one(v, tag=name): try: @@ -218,7 +217,7 @@ vmapping[a] = b except (TypeError, ValueError): vmapping[name] = v - return templ(tag, **pycompat.strkwargs(vmapping)) + return templ.generate(tag, vmapping) lastname = 'last_' + name if lastname in templ: last = values.pop() @@ -230,7 +229,7 @@ yield one(last, tag=lastname) endname = 'end_' + plural if endname in templ: - yield templ(endname, **strmapping) + yield templ.generate(endname, mapping) def stringify(thing): """Turn values into bytes by converting into text and concatenating them"""