[CalendarServer-changes] [10865] CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/ datastore/sql.py

source_changes at macosforge.org source_changes at macosforge.org
Thu Mar 7 10:25:19 PST 2013


Revision: 10865
          http://trac.calendarserver.org//changeset/10865
Author:   gaya at apple.com
Date:     2013-03-07 10:25:19 -0800 (Thu, 07 Mar 2013)
Log Message:
-----------
remove @inlineCallback from AddressBookHome.addressbook()

Modified Paths:
--------------
    CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/sql.py

Modified: CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/sql.py
===================================================================
--- CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/sql.py	2013-03-07 02:09:24 UTC (rev 10864)
+++ CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/sql.py	2013-03-07 18:25:19 UTC (rev 10865)
@@ -82,6 +82,7 @@
         self._childClass = AddressBook
         super(AddressBookHome, self).__init__(transaction, ownerUID, notifiers)
         self._homeResourceID = None
+        self._addressbook = None
 
 
     addressbooks = CommonHome.children
@@ -131,8 +132,20 @@
                     yield queryCacher.setAfterCommit(self._txn, cacheKey, data)
 
             self._created, self._modified = data
+            yield self._loadPropertyStore()
 
-            yield self._loadPropertyStore()
+            # created owned address book
+            addressbook = AddressBook(
+                home=self,
+                name="addressbook", resourceID=self._resourceID,
+                mode=_BIND_MODE_OWN, status=_BIND_STATUS_ACCEPTED,
+            )
+            yield addressbook._loadPropertyStore()
+            addressbook.properties()[
+                PropertyName.fromElement(ResourceType)
+            ] = addressbook.resourceType()
+            self._addressbook = addressbook
+
             returnValue(self)
         else:
             returnValue(None)
@@ -183,7 +196,7 @@
     @inlineCallbacks
     def createdHome(self):
         # initialize address book properties, synctoken
-        child = yield self.addressbook()
+        child = self.addressbook()
         #FIXME:  define as same property
         child._created = self._created
         child._modified = self._modified
@@ -207,23 +220,10 @@
         ).on(self._txn, **kwds)
 
 
-    @inlineCallbacks
     def addressbook(self):
-        if not hasattr(self, "_addressbook"):
-            child = AddressBook(
-                home=self,
-                name="addressbook", resourceID=self._resourceID,
-                mode=_BIND_MODE_OWN, status=_BIND_STATUS_ACCEPTED,
-            )
-            yield child._loadPropertyStore()
-            child.properties()[
-                PropertyName.fromElement(ResourceType)
-            ] = child.resourceType()
-            self._addressbook = child
+        return self._addressbook
 
-        returnValue(self._addressbook)
 
-
     def shareeAddressBookName(self):
         return self.uid()
 
@@ -333,7 +333,7 @@
 
     @classmethod
     def create(cls, home, name):
-        if name == (yield home.addressbook()).name():
+        if name == home.addressbook().name():
             #raise HomeChildNameAlreadyExistsError
             pass
         else:
@@ -539,7 +539,7 @@
         operations to keep this constant wrt the number of children.  This is an
         optimization for Depth:1 operations on the home.
         """
-        results = [(yield home.addressbook()), ]
+        results = [home.addressbook(), ]
         ownerHomeIDToDataRowMap = {}
 
         # Load from the main table first
@@ -756,7 +756,7 @@
             exists.
         """
         if home._resourceID == resourceID:
-            returnValue((yield home.addressbook()))
+            returnValue(home.addressbook())
 
         bindRows = yield cls._bindForResourceIDAndHomeID.on(
             home._txn, resourceID=resourceID, homeID=home._resourceID
@@ -837,7 +837,7 @@
 
         @return: an iterable of C{str}s.
         """
-        names = set([(yield home.addressbook()).name()])
+        names = set([home.addressbook().name()])
 
         rows = yield cls._acceptedBindForHomeID.on(
             home._txn, homeID=home._resourceID
@@ -2025,7 +2025,7 @@
                 yield self.unshareWith(sharedToHome)
         else:
             # This collection is shared to me
-            ownerAddressBook = yield self._addressbook.ownerHome().addressbook()
+            ownerAddressBook = self._addressbook.ownerHome().addressbook()
             ownerGroup = yield ownerAddressBook.objectResourceWithID(self._resourceID)
             yield ownerGroup.unshareWith(self._home)
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20130307/fb14c34f/attachment-0001.html>


More information about the calendarserver-changes mailing list