[CalendarServer-changes] [267] CalendarServer/trunk

source_changes at macosforge.org source_changes at macosforge.org
Thu Oct 12 10:54:04 PDT 2006


Revision: 267
          http://trac.macosforge.org/projects/calendarserver/changeset/267
Author:   cdaboo at apple.com
Date:     2006-10-12 10:54:03 -0700 (Thu, 12 Oct 2006)

Log Message:
-----------
Update to latest vobject (r160) - now includes our patches.

Modified Paths:
--------------
    CalendarServer/trunk/run

Removed Paths:
-------------
    CalendarServer/trunk/lib-patches/vObject/base.patch
    CalendarServer/trunk/lib-patches/vObject/icalendar.patch

Deleted: CalendarServer/trunk/lib-patches/vObject/base.patch
===================================================================
--- CalendarServer/trunk/lib-patches/vObject/base.patch	2006-10-10 17:17:08 UTC (rev 266)
+++ CalendarServer/trunk/lib-patches/vObject/base.patch	2006-10-12 17:54:03 UTC (rev 267)
@@ -1,74 +0,0 @@
-Index: src/vobject/base.py
-===================================================================
---- src/vobject/base.py	(revision 155)
-+++ src/vobject/base.py	(working copy)
-@@ -1,5 +1,6 @@
- """vobject module for reading vCard and vCalendar files."""
- 
-+import copy
- import re
- import sys
- import logging
-@@ -56,6 +57,12 @@
-         self.parentBehavior = None
-         self.isNative = False
-     
-+    def copy(self, copyit):
-+        self.group = copyit.group
-+        self.behavior = copyit.behavior
-+        self.parentBehavior = copyit.parentBehavior
-+        self.isNative = copyit.isNative
-+        
-     def validate(self, *args, **kwds):
-         """Call the behavior's validate method, or return True."""
-         if self.behavior:
-@@ -250,6 +257,21 @@
-         if qp:
-             self.value = str(self.value).decode('quoted-printable')
- 
-+    @classmethod
-+    def duplicate(clz, copyit):
-+        newcopy = clz('', {}, '')
-+        newcopy.copy(copyit)
-+        return newcopy
-+
-+    def copy(self, copyit):
-+        super(ContentLine, self).copy(copyit)
-+        self.name = copyit.name
-+        self.value = copy.copy(copyit.value)
-+        self.encoded = self.encoded
-+        self.params = copy.copy(copyit.params)
-+        self.singletonparams = copy.copy(copyit.singletonparams)
-+        self.lineNumber = copyit.lineNumber
-+        
-     def __eq__(self, other):
-         try:
-             return (self.name == other.name) and (self.params == other.params) and (self.value == other.value)
-@@ -361,6 +383,27 @@
-         
-         self.autoBehavior()
- 
-+    @classmethod
-+    def duplicate(clz, copyit):
-+        newcopy = clz()
-+        newcopy.copy(copyit)
-+        return newcopy
-+
-+    def copy(self, copyit):
-+        super(Component, self).copy(copyit)
-+        
-+        # deep copy of contents
-+        self.contents = {}
-+        for key, lvalue in copyit.contents.items():
-+            newvalue = []
-+            for value in lvalue:
-+                newitem = value.duplicate(value)
-+                newvalue.append(newitem)
-+            self.contents[key] = newvalue
-+
-+        self.name = copyit.name
-+        self.useBegin = copyit.useBegin
-+         
-     def setProfile(self, name):
-         """Assign a PROFILE to this unnamed component.
-         

Deleted: CalendarServer/trunk/lib-patches/vObject/icalendar.patch
===================================================================
--- CalendarServer/trunk/lib-patches/vObject/icalendar.patch	2006-10-10 17:17:08 UTC (rev 266)
+++ CalendarServer/trunk/lib-patches/vObject/icalendar.patch	2006-10-12 17:54:03 UTC (rev 267)
@@ -1,83 +0,0 @@
-Index: src/vobject/icalendar.py
-===================================================================
---- src/vobject/icalendar.py	(revision 155)
-+++ src/vobject/icalendar.py	(working copy)
-@@ -377,8 +377,17 @@
-                     try:
-                         dtstart = self.dtstart.value
-                     except AttributeError, KeyError:
--                        # if there's no dtstart, just return None
--                        return None
-+                        # Special for VTODO - try DUE property instead
-+                        try:
-+                            if self.name == "VTODO":
-+                                dtstart = self.due.value
-+                            else:
-+                                # if there's no dtstart, just return None
-+                                return None
-+                        except AttributeError, KeyError:
-+                            # if there's no due, just return None
-+                            return None
-+
-                     # rrulestr complains about unicode, so cast to str
-                     rule = dateutil.rrule.rrulestr(str(line.value),
-                                                    dtstart=dtstart)
-@@ -422,7 +431,16 @@
-         return rruleset
- 
-     def setrruleset(self, rruleset):
--        dtstart = self.dtstart.value
-+        
-+        # Get DTSTART from component (or DUE if no DTSTART in a VTODO)
-+        try:
-+            dtstart = self.dtstart.value
-+        except AttributeError, KeyError:
-+            if self.name == "VTODO":
-+                dtstart = self.due.value
-+            else:
-+                raise
-+            
-         isDate = datetime.date == type(dtstart)
-         if isDate:
-             dtstart = datetime.datetime(dtstart.year,dtstart.month, dtstart.day)
-@@ -488,7 +506,7 @@
- 
-                     if rule._bymonth is not None and len(rule._bymonth) > 0:
-                         if (rule._byweekday is not None or
--                            len(rrule._bynweekday or ()) > 0 or
-+                            len(rule._bynweekday or ()) > 0 or
-                             not (rule._freq == dateutil.rrule.YEARLY and
-                                  len(rule._bymonth) == 1 and
-                                  rule._bymonth[0] == rule._dtstart.month)):
-@@ -580,6 +598,8 @@
-         if obj.value.tzinfo is None:
-             obj.params['X-VOBJ-FLOATINGTIME-ALLOWED'] = ['TRUE']
-         if obj.params.get('TZID'):
-+            # Keep a copy of the original TZID around
-+            obj.params['X-VOBJ-ORIGINAL-TZID'] = obj.params['TZID']
-             del obj.params['TZID']
-         return obj
- 
-@@ -592,6 +612,10 @@
-             obj.value = dateTimeToString(obj.value, cls.forceUTC)
-             if not cls.forceUTC and tzid is not None:
-                 obj.tzid_param = tzid
-+            if obj.params.get('X-VOBJ-ORIGINAL-TZID'):
-+                if not hasattr(obj, 'tzid_param'):
-+                    obj.tzid_param = obj.params['X-VOBJ-ORIGINAL-TZID']
-+                del obj.params['X-VOBJ-ORIGINAL-TZID']
- 
-         return obj
- 
-@@ -612,7 +636,10 @@
-         obj.value=str(obj.value)
-         obj.value=parseDtstart(obj)
-         if getattr(obj, 'value_param', 'DATE-TIME').upper() == 'DATE-TIME':
--            if hasattr(obj, 'tzid_param'): del obj.tzid_param
-+            if hasattr(obj, 'tzid_param'):
-+                # Keep a copy of the original TZID around
-+                obj.params['X-VOBJ-ORIGINAL-TZID'] = obj.tzid_param
-+                del obj.tzid_param
-         return obj
- 
-     @staticmethod

Modified: CalendarServer/trunk/run
===================================================================
--- CalendarServer/trunk/run	2006-10-10 17:17:08 UTC (rev 266)
+++ CalendarServer/trunk/run	2006-10-12 17:54:03 UTC (rev 267)
@@ -462,7 +462,7 @@
       ;;
   esac;
   svn_uri="${base}/vobject/trunk";
-  svn_get "vObject" "${vobject}" "${svn_uri}" 155;
+  svn_get "vObject" "${vobject}" "${svn_uri}" 160;
 fi;
 py_install "vObject" "${vobject}";
 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20061012/1643eaea/attachment.html


More information about the calendarserver-changes mailing list