Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/sugar/chat/richtext.py
diff options
context:
space:
mode:
authorMarco 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)
commitb4d4d9eb21adb3bf8a391fdd84e8148ccf8c6fad (patch)
tree8875dfa2d22cd44c989115572cb3dec76fba390a /sugar/chat/richtext.py
parent11a1925c2d2d00fc42f4d8dd3b45c36aee09ae56 (diff)
Merge
Diffstat (limited to 'sugar/chat/richtext.py')
-rw-r--r--sugar/chat/richtext.py16
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):