diff mercurial/templatekw.py @ 31925:5b2241e84982

templatekw: add public function to wrap a dict by _hybrid object
author Yuya Nishihara <yuya@tcha.org>
date Wed, 05 Apr 2017 22:28:09 +0900
parents 21f129354dd0
children 579bbcb4322b
line wrap: on
line diff
--- a/mercurial/templatekw.py	Wed Apr 05 22:25:36 2017 +0900
+++ b/mercurial/templatekw.py	Wed Apr 05 22:28:09 2017 +0900
@@ -62,6 +62,11 @@
             raise AttributeError(name)
         return getattr(self._values, name)
 
+def hybriddict(data, key='key', value='value', fmt='%s=%s', gen=None):
+    """Wrap data to support both dict-like and string-like operations"""
+    return _hybrid(gen, data, lambda k: {key: k, value: data[k]},
+                   lambda d: fmt % (d[key], d[value]))
+
 def hybridlist(data, name, fmt='%s', gen=None):
     """Wrap data to support both list-like and string-like operations"""
     return _hybrid(gen, data, lambda x: {name: x}, lambda d: fmt % d[name])