Mercurial > public > mercurial-scm > hg-stable
diff mercurial/templatekw.py @ 31882:ba5b74f780d5
templater: make _hybrid provide more list/dict-like methods
So the JSON filter works.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Tue, 04 Apr 2017 22:31:59 +0900 |
parents | 31dad7a5b4ed |
children | 68c910fa9ee2 |
line wrap: on
line diff
--- a/mercurial/templatekw.py Tue Apr 04 22:20:06 2017 +0900 +++ b/mercurial/templatekw.py Tue Apr 04 22:31:59 2017 +0900 @@ -28,6 +28,7 @@ and to access raw values: - "{ifcontains(file, files, ...)}", "{ifcontains(key, extras, ...)}" - "{get(extras, key)}" + - "{files|json}" """ def __init__(self, gen, values, makemap, joinfmt): @@ -43,8 +44,11 @@ return x in self._values def __len__(self): return len(self._values) + def __iter__(self): + return iter(self._values) def __getattr__(self, name): - if name != 'get': + if name not in ('get', 'items', 'iteritems', 'iterkeys', 'itervalues', + 'keys', 'values'): raise AttributeError(name) return getattr(self._values, name)