id summary reporter owner description type status priority milestone component version resolution keywords cc
232 append transformation doesn't work at the end of stream jhammel@… cmlenz "trying to insert past the end of stream results in an extra final tag:
{{{
>>> foo = 'foo'
>>> print HTML(foo) | Transformer('//em').after('bar')
foobar
}}}
The following patch fixes:
{{{
Index: transform.py
===================================================================
--- transform.py (revision 852)
+++ transform.py (working copy)
@@ -980,6 +980,7 @@
:param stream: The marked event stream to filter
""""""
+ stopped = False
for mark, event in stream:
yield mark, event
if mark:
@@ -987,13 +988,15 @@
try:
mark, event = stream.next()
except StopIteration:
+ stopped = True
break
if not mark:
break
yield mark, event
for subevent in self._inject():
yield subevent
- yield mark, event
+ if not stopped:
+ yield mark, event
class PrependTransformation(InjectorTransformation):
}}}
admittedly this is a niche case but I see no reason not to do this (and am also not sure if other transforms need patching as well)" defect closed major 0.5 General devel fixed