Revision
2108
Author
wsanchez@apple.com
Date
2008-01-11 13:59:04 -0800 (Fri, 11 Jan 2008)

Log Message

Pull up r2066, coalesce PCDATA sections.

Modified Paths

Diff

Modified: CalendarServer/branches/release/CalendarServer-1.2-dev/lib-patches/Twisted/twisted.web2.dav.element.parser.patch (2107 => 2108)


--- CalendarServer/branches/release/CalendarServer-1.2-dev/lib-patches/Twisted/twisted.web2.dav.element.parser.patch	2008-01-11 21:39:36 UTC (rev 2107)
+++ CalendarServer/branches/release/CalendarServer-1.2-dev/lib-patches/Twisted/twisted.web2.dav.element.parser.patch	2008-01-11 21:59:04 UTC (rev 2108)
@@ -68,7 +68,21 @@
  
          self.stack.append({
              "name"       : name,
-@@ -194,6 +219,8 @@
+@@ -158,7 +183,12 @@
+         self.stack[-1]["children"].append(element)
+ 
+     def characters(self, content):
+-        self.stack[-1]["children"].append(PCDATAElement(content))
++        # Coalesce adjacent PCDATAElements
++        pcdata = PCDATAElement(content)
++        if len(self.stack[-1]["children"]) and isinstance(self.stack[-1]["children"][-1], PCDATAElement):
++            self.stack[-1]["children"][-1] = self.stack[-1]["children"][-1] + pcdata
++        else:
++            self.stack[-1]["children"].append(pcdata)
+ 
+     def ignorableWhitespace(self, whitespace):
+         self.characters(self, whitespace)
+@@ -194,6 +224,8 @@
              except xml.sax.SAXParseException, e:
                  raise ValueError(e)