Mercurial > hg > mercurial-crew-with-dirclash
comparison mercurial/templater.py @ 3637:6a46c9ccc2ed
templater: remove cStringIO from stringify
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Mon, 13 Nov 2006 13:26:57 -0600 |
parents | bf3dec184c78 |
children | 7af1f54c044c |
comparison
equal
deleted
inserted
replaced
3636:bf3dec184c78 | 3637:6a46c9ccc2ed |
---|---|
170 if n >= 2 or s == 1: | 170 if n >= 2 or s == 1: |
171 return fmt(t, n) | 171 return fmt(t, n) |
172 | 172 |
173 def stringify(thing): | 173 def stringify(thing): |
174 '''turn nested template iterator into string.''' | 174 '''turn nested template iterator into string.''' |
175 cs = cStringIO.StringIO() | 175 def flatten(thing): |
176 def walk(things): | 176 if hasattr(thing, '__iter__'): |
177 for t in things: | 177 for t in thing: |
178 if hasattr(t, '__iter__'): | 178 for i in flatten(t): |
179 walk(t) | 179 yield i |
180 else: | 180 else: |
181 cs.write(t) | 181 yield str(thing) |
182 walk(thing) | 182 return "".join(flatten(thing)) |
183 return cs.getvalue() | |
184 | 183 |
185 para_re = None | 184 para_re = None |
186 space_re = None | 185 space_re = None |
187 | 186 |
188 def fill(text, width): | 187 def fill(text, width): |