Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/templateutil.py @ 37277:8c84dc8264dc
templater: mark .gen as a private attribute
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 17 Mar 2018 20:56:42 +0900 |
parents | 83e1bbd48991 |
children | b4630e332a99 |
comparison
equal
deleted
inserted
replaced
37276:45987e2b64f0 | 37277:8c84dc8264dc |
---|---|
59 - "{files|json}" | 59 - "{files|json}" |
60 """ | 60 """ |
61 | 61 |
62 def __init__(self, gen, values, makemap, joinfmt, keytype=None): | 62 def __init__(self, gen, values, makemap, joinfmt, keytype=None): |
63 if gen is not None: | 63 if gen is not None: |
64 self.gen = gen # generator or function returning generator | 64 self._gen = gen # generator or function returning generator |
65 self._values = values | 65 self._values = values |
66 self._makemap = makemap | 66 self._makemap = makemap |
67 self.joinfmt = joinfmt | 67 self.joinfmt = joinfmt |
68 self.keytype = keytype # hint for 'x in y' where type(x) is unresolved | 68 self.keytype = keytype # hint for 'x in y' where type(x) is unresolved |
69 def gen(self): | 69 |
70 def _gen(self): | |
70 """Default generator to stringify this as {join(self, ' ')}""" | 71 """Default generator to stringify this as {join(self, ' ')}""" |
71 for i, x in enumerate(self._values): | 72 for i, x in enumerate(self._values): |
72 if i > 0: | 73 if i > 0: |
73 yield ' ' | 74 yield ' ' |
74 yield self.joinfmt(x) | 75 yield self.joinfmt(x) |
77 for x in self._values: | 78 for x in self._values: |
78 yield makemap(x) | 79 yield makemap(x) |
79 | 80 |
80 def show(self, context, mapping): | 81 def show(self, context, mapping): |
81 # TODO: switch gen to (context, mapping) API? | 82 # TODO: switch gen to (context, mapping) API? |
82 gen = self.gen | 83 gen = self._gen |
83 if callable(gen): | 84 if callable(gen): |
84 return gen() | 85 return gen() |
85 return gen | 86 return gen |
86 | 87 |
87 def __contains__(self, x): | 88 def __contains__(self, x): |
111 the inner object. | 112 the inner object. |
112 """ | 113 """ |
113 | 114 |
114 def __init__(self, gen, key, value, makemap): | 115 def __init__(self, gen, key, value, makemap): |
115 if gen is not None: | 116 if gen is not None: |
116 self.gen = gen # generator or function returning generator | 117 self._gen = gen # generator or function returning generator |
117 self._key = key | 118 self._key = key |
118 self._value = value # may be generator of strings | 119 self._value = value # may be generator of strings |
119 self._makemap = makemap | 120 self._makemap = makemap |
120 | 121 |
121 def gen(self): | 122 def _gen(self): |
122 yield pycompat.bytestr(self._value) | 123 yield pycompat.bytestr(self._value) |
123 | 124 |
124 def tomap(self): | 125 def tomap(self): |
125 return self._makemap(self._key) | 126 return self._makemap(self._key) |
126 | 127 |
127 def itermaps(self): | 128 def itermaps(self): |
128 yield self.tomap() | 129 yield self.tomap() |
129 | 130 |
130 def show(self, context, mapping): | 131 def show(self, context, mapping): |
131 # TODO: switch gen to (context, mapping) API? | 132 # TODO: switch gen to (context, mapping) API? |
132 gen = self.gen | 133 gen = self._gen |
133 if callable(gen): | 134 if callable(gen): |
134 return gen() | 135 return gen() |
135 return gen | 136 return gen |
136 | 137 |
137 def hybriddict(data, key='key', value='value', fmt=None, gen=None): | 138 def hybriddict(data, key='key', value='value', fmt=None, gen=None): |