diff options
author | Marco Pesenti Gritti <mpg@redhat.com> | 2006-05-19 22:05:59 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <mpg@redhat.com> | 2006-05-19 22:05:59 (GMT) |
commit | b4d4d9eb21adb3bf8a391fdd84e8148ccf8c6fad (patch) | |
tree | 8875dfa2d22cd44c989115572cb3dec76fba390a /sugar/chat/richtext.py | |
parent | 11a1925c2d2d00fc42f4d8dd3b45c36aee09ae56 (diff) |
Merge
Diffstat (limited to 'sugar/chat/richtext.py')
-rw-r--r-- | sugar/chat/richtext.py | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/sugar/chat/richtext.py b/sugar/chat/richtext.py index ecb15c2..543e431 100644 --- a/sugar/chat/richtext.py +++ b/sugar/chat/richtext.py @@ -209,8 +209,16 @@ class RichTextHandler(xml.sax.handler.ContentHandler): self.buf = buf self.serializer = serializer self.tags = [] + self._in_richtext = False + self._done = False def startElement(self, name, attrs): + # Look for, and only start parsing after 'richtext' + if not self._in_richtext and name == "richtext": + self._in_richtext = True + if not self._in_richtext: + return + if name != "richtext": tag = self.serializer.deserialize_element(name, attrs) self.tags.append(tag) @@ -230,8 +238,12 @@ class RichTextHandler(xml.sax.handler.ContentHandler): "link", "link-address") def endElement(self, name): - if name != "richtext": - self.tags.pop() + if not self._done and self._in_richtext: + if name != "richtext": + self.tags.pop() + if name == "richtext": + self._done = True + self._in_richtext = False class RichTextSerializer: def __init__(self): |