[CalendarServer-changes] [6111] CalendarServer/trunk/txcaldav/calendarstore/postgres.py

source_changes at macosforge.org source_changes at macosforge.org
Wed Aug 18 11:20:13 PDT 2010


Revision: 6111
          http://trac.macosforge.org/projects/calendarserver/changeset/6111
Author:   glyph at apple.com
Date:     2010-08-18 11:20:12 -0700 (Wed, 18 Aug 2010)
Log Message:
-----------
give addressbooks a sync token.

Modified Paths:
--------------
    CalendarServer/trunk/txcaldav/calendarstore/postgres.py

Modified: CalendarServer/trunk/txcaldav/calendarstore/postgres.py
===================================================================
--- CalendarServer/trunk/txcaldav/calendarstore/postgres.py	2010-08-18 18:09:25 UTC (rev 6110)
+++ CalendarServer/trunk/txcaldav/calendarstore/postgres.py	2010-08-18 18:20:12 UTC (rev 6111)
@@ -2016,6 +2016,8 @@
     def setComponent(self, component):
         validateAddressBookComponent(self, self._addressbook, component)
 
+        self._addressbook._updateSyncToken()
+
         vCardText = str(component)
         self._txn.execSQL(
             "update ADDRESSBOOK_OBJECT set VCARD_TEXT = %s "
@@ -2036,11 +2038,11 @@
 
 
     def md5(self):
-        return None
+        return hashlib.md5(self.vCardText()).hexdigest()
 
 
     def size(self):
-        return 0
+        return len(self.vCardText())
 
 
     def created(self):
@@ -2128,7 +2130,7 @@
 
 
 
-class PostgresAddressBook(object):
+class PostgresAddressBook(SyncTokenHelper):
 
     implements(IAddressBook)
 
@@ -2247,6 +2249,9 @@
             [self._resourceID, name, componentText, component.resourceUID(),
             "VCARD"] # component.resourceType()]  FIXME: what value(s) here?
         )
+
+        self._updateSyncToken()
+
         if self._notifier:
             self._home._txn.postCommit(self._notifier.notify)
 
@@ -2260,6 +2265,9 @@
         if self._txn._cursor.rowcount == 0:
             raise NoSuchObjectResourceError()
         self._objects.pop(name, None)
+
+        self._updateSyncToken()
+
         if self._notifier:
             self._txn.postCommit(self._notifier.notify)
 
@@ -2279,6 +2287,8 @@
             [uid, self._resourceID]
         )
         self._objects.pop(name, None)
+        self._updateSyncToken()
+
         if self._notifier:
             self._home._txn.postCommit(self._notifier.notify)
 
@@ -2445,8 +2455,11 @@
         )
 
         addressbookType = ResourceType.addressbook #@UndefinedVariable
-        self.addressbookWithName(name).properties()[
+        newAddressbook = self.addressbookWithName(name)
+        newAddressbook.properties()[
             PropertyName.fromElement(ResourceType)] = addressbookType
+        newAddressbook._updateSyncToken(True)
+
         if self._notifier:
             self._txn.postCommit(self._notifier.notify)
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100818/25e28516/attachment-0001.html>


More information about the calendarserver-changes mailing list