[CalendarServer-changes] [3677] CalendarServer/branches/users/wsanchez/deployment/lib-patches/ vobject/src.vobject.icalendar.patch

source_changes at macosforge.org source_changes at macosforge.org
Tue Feb 17 09:02:38 PST 2009


Revision: 3677
          http://trac.macosforge.org/projects/calendarserver/changeset/3677
Author:   cdaboo at apple.com
Date:     2009-02-17 09:02:38 -0800 (Tue, 17 Feb 2009)
Log Message:
-----------
Merged vobject patch - addresses parsing performance issue.

Modified Paths:
--------------
    CalendarServer/branches/users/wsanchez/deployment/lib-patches/vobject/src.vobject.icalendar.patch

Modified: CalendarServer/branches/users/wsanchez/deployment/lib-patches/vobject/src.vobject.icalendar.patch
===================================================================
--- CalendarServer/branches/users/wsanchez/deployment/lib-patches/vobject/src.vobject.icalendar.patch	2009-02-17 16:20:38 UTC (rev 3676)
+++ CalendarServer/branches/users/wsanchez/deployment/lib-patches/vobject/src.vobject.icalendar.patch	2009-02-17 17:02:38 UTC (rev 3677)
@@ -2,16 +2,51 @@
 ===================================================================
 --- src/vobject/icalendar.py	(revision 193)
 +++ src/vobject/icalendar.py	(working copy)
-@@ -1631,9 +1631,10 @@
+@@ -1601,7 +1601,7 @@
+     charIterator = enumerate(s)
+     state        = "read normal"
+ 
+-    current = ""
++    current = []
+     results = []
+ 
+     while True:
+@@ -1615,28 +1615,31 @@
+                 state = "read escaped char"
+             elif char == listSeparator:
+                 state = "read normal"
++                current = "".join(current)
+                 results.append(current)
+-                current = ""
++                current = []
+             elif char == "eof":
+                 state = "end"
+             else:
+                 state = "read normal"
+-                current = current + char
++                current.append(char)
+ 
+         elif state == "read escaped char":
+             if escapableChar(char):
+                 state = "read normal"
+                 if char in 'nN': 
+-                    current = current + '\n'
++                    current.append('\n')
                  else:
-                     current = current + char
+-                    current = current + char
++                    current.append(char)
              else:
 -                state = "read normal"
 +                #state = "read normal"
                  # leave unrecognized escaped characters for later passes
 -                current = current + '\\' + char 
-+                #current = current + '\\' + char
++                #current.append('\\' + char)
 +                raise ParseError("error: illegal escape sequence: '\\%s'" % (char,))
  
          elif state == "end":    #an end state
-             if current != "" or len(results) == 0:
+-            if current != "" or len(results) == 0:
++            if len(current) or len(results) == 0:
++                current = "".join(current)
+                 results.append(current)
+             return results
+ 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20090217/78480c29/attachment.html>


More information about the calendarserver-changes mailing list