[CalendarServer-changes] [10812] CalendarServer/branches/users/gaya/sharedgroups/txdav

source_changes at macosforge.org source_changes at macosforge.org
Tue Feb 26 12:00:36 PST 2013


Revision: 10812
          http://trac.calendarserver.org//changeset/10812
Author:   gaya at apple.com
Date:     2013-02-26 12:00:36 -0800 (Tue, 26 Feb 2013)
Log Message:
-----------
Checkpoint fixes

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

Modified: CalendarServer/branches/users/gaya/sharedgroups/txdav/caldav/datastore/sql.py
===================================================================
--- CalendarServer/branches/users/gaya/sharedgroups/txdav/caldav/datastore/sql.py	2013-02-26 15:31:55 UTC (rev 10811)
+++ CalendarServer/branches/users/gaya/sharedgroups/txdav/caldav/datastore/sql.py	2013-02-26 20:00:36 UTC (rev 10812)
@@ -1833,11 +1833,11 @@
 
         # We need to know the resource_ID of the home collection of the owner
         # (not sharee) of this event
-        sharerHomeID = (yield self._parentCollection.sharerHomeID())
+        ownerHomeID = self._parentCollection.ownerHome()._resourceID
         managedID = str(uuid.uuid4())
         returnValue((
             yield ManagedAttachment.create(
-                self._txn, managedID, sharerHomeID, self._resourceID,
+                self._txn, managedID, ownerHomeID, self._resourceID,
             )
         ))
 
@@ -1847,10 +1847,10 @@
 
         # We need to know the resource_ID of the home collection of the owner
         # (not sharee) of this event
-        sharerHomeID = (yield self._parentCollection.sharerHomeID())
+        ownerHomeID = self._parentCollection.ownerHome()._resourceID
         returnValue((
             yield ManagedAttachment.update(
-                self._txn, managedID, sharerHomeID, self._resourceID, oldattachment._attachmentID,
+                self._txn, managedID, ownerHomeID, self._resourceID, oldattachment._attachmentID,
             )
         ))
 
@@ -1909,11 +1909,11 @@
 
         # We need to know the resource_ID of the home collection of the owner
         # (not sharee) of this event
-        sharerHomeID = (yield self._parentCollection.sharerHomeID())
+        ownerHomeID = self._parentCollection.ownerHome()._resourceID
         dropboxID = (yield self.dropboxID())
         returnValue((
             yield DropBoxAttachment.create(
-                self._txn, dropboxID, name, sharerHomeID,
+                self._txn, dropboxID, name, ownerHomeID,
             )
         ))
 

Modified: CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/sql.py
===================================================================
--- CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/sql.py	2013-02-26 15:31:55 UTC (rev 10811)
+++ CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/sql.py	2013-02-26 20:00:36 UTC (rev 10812)
@@ -200,6 +200,16 @@
         yield child.remove()
 
 
+    @inlineCallbacks
+    def ownerHomeFromChildID(self, resourceID):
+        """
+        Get the owner home for a shared child ID
+        """
+        # owned and addressbook and home have same resourceID
+        ownerHome = yield self._txn.homeWithResourceID(self._homeType, resourceID)
+        returnValue(ownerHome)
+
+
 AddressBookHome._register(EADDRESSBOOKTYPE)
 
 
@@ -280,7 +290,7 @@
 
 
     @classmethod
-    def _insertHomeChildAndMetaData(cls, home, name):
+    def _insertHomeChildAndMetaData(cls, home, name):  #@UnusedVariable
         return((home._resourceID, home._created, home._modified))
 
 
@@ -360,9 +370,7 @@
                 self._ownerAddressBook = self
             else:
                 ownerHome = yield self.ownerAddressBookHome()
-                assert self._home != ownerHome
                 self._ownerAddressBook = yield ownerHome.addressbook()
-                assert self._ownerAddressBook != self
         returnValue(self._ownerAddressBook)
 
 
@@ -532,7 +540,8 @@
         for dataRow in dataRows:
             bindMode, homeID, resourceID, bindName, bindStatus, bindMessage = dataRow[:6] #@UnusedVariable
             assert bindStatus != _BIND_MODE_OWN
-            ownerHomeID = yield cls.ownerHomeID(home._txn, resourceID)
+            ownerHome = yield home.ownerHomeFromChildID(resourceID)
+            ownerHomeID = ownerHome._resourceID
             ownerHomeIDToDataRowMap[ownerHomeID] = dataRow
 
         # now get group rows:
@@ -541,8 +550,9 @@
         )
         for groupBindRow in groupBindRows:
             bindMode, homeID, resourceID, bindName, bindStatus, bindMessage = groupBindRow[:6] #@UnusedVariable        
-            ownerAddressBookID = yield AddressBookObject.ownerAddressBookID(home._txn, resourceID)
-            ownerHomeID = yield cls.ownerHomeID(home._txn, ownerAddressBookID)
+            ownerAddressBookID = yield AddressBookObject.ownerAddressBookFromGroupID(home._txn, resourceID)
+            ownerHome = yield home.ownerHomeIDFromChildID(home._txn, ownerAddressBookID)
+            ownerHomeID = ownerHome._resourceID
             if ownerHomeID not in ownerHomeIDToDataRowMap:
                 groupBindRow[0] = _BIND_MODE_WRITE
                 groupBindRow[3] = None # bindName
@@ -564,7 +574,7 @@
             revisions = dict(revisions)
 
             # Create the actual objects merging in properties
-            for ownerHomeID, dataRow in ownerHomeIDToDataRowMap.iteritems():
+            for dataRow in ownerHomeIDToDataRowMap.values():
                 bindMode, homeID, resourceID, bindName, bindStatus, bindMessage = dataRow[:6] #@UnusedVariable
                 metadata = dataRow[6:]
 
@@ -576,7 +586,7 @@
                         message=bindMessage,
                     )
                 else:
-                    ownerHome = yield home._txn.homeWithResourceID(home._homeType, ownerHomeID)
+                    ownerHome = yield home.ownerHomeFromChildID(resourceID)
                     ownerAddressBook = yield ownerHome.addressbook()
 
                     child = cls(
@@ -645,26 +655,25 @@
             if ownerHome:
                 # see if address book resource id in bind table
                 ownerAddressBook = yield ownerHome.addressbook()
-
-                sharedABBindRows = yield cls._bindForResourceIDAndHomeID.on(
+                rows = yield cls._bindForResourceIDAndHomeID.on(
                     home._txn, resourceID=ownerAddressBook._resourceID, homeID=home._resourceID
                 )
-                if sharedABBindRows:
-                    bindMode, homeID, resourceID, bindName, bindStatus, bindMessage = sharedABBindRows[0] #@UnusedVariable
-                    sharedABBindRows[0].append(ownerHome._resourceID)
-                    rows = [sharedABBindRows[0]]
-
-                if not rows:
+                if rows:
+                    rows[0].append(ownerAddressBook._resourceID)
+                    rows[0].append(rows[4]) # cachedStatus = bindStatus
+                else:
                     groupBindRows = yield AddressBookObject._bindWithHomeIDAndAddressBookID.on(
                             home._txn, homeID=home._resourceID, addressbookID=ownerAddressBook._resourceID
                     )
                     if groupBindRows:
                         groupBindRow = groupBindRows[0]
+                        cachedBindStatus = groupBindRow[4] # save off bindStatus
                         groupBindRow[0] = _BIND_MODE_WRITE
                         groupBindRow[3] = None # bindName
                         groupBindRow[4] = None # bindStatus
                         groupBindRow[5] = None # bindMessage
-                        groupBindRow.append(ownerHome._resourceID)
+                        groupBindRow.append(ownerAddressBook._resourceID)
+                        groupBindRow.append(cachedBindStatus)
                         rows = [groupBindRow]
 
             if rows and queryCacher:
@@ -674,16 +683,16 @@
         if not rows:
             returnValue(None)
 
-        bindMode, homeID, resourceID, bindName, bindStatus, bindMessage, ownerHomeID = rows[0] #@UnusedVariable        
+        bindMode, homeID, resourceID, bindName, bindStatus, bindMessage, ownerAddressBookID, cachedBindStatus = rows[0] #@UnusedVariable        
         # if wrong status, exit here.  Item is in queryCache
-        if (bindStatus == _BIND_STATUS_ACCEPTED) != bool(accepted):
+        if (cachedBindStatus == _BIND_STATUS_ACCEPTED) != bool(accepted):
             returnValue(None)
 
-        ownerHome = yield home._txn.homeWithResourceID(home._homeType, ownerHomeID)
+        ownerHome = yield home.ownerHomeFromChildID(ownerAddressBookID)
         ownerAddressBook = yield ownerHome.addressbook()
         child = cls(
                 home=home,
-                name=ownerAddressBook.shareeABName(), resourceID=ownerAddressBook._resourceID,
+                name=ownerAddressBook.shareeABName(), resourceID=ownerAddressBookID,
                 mode=bindMode, status=bindStatus,
                 message=bindMessage, ownerHome=ownerHome,
                 bindName=bindName,
@@ -712,8 +721,7 @@
             if (bindStatus == _BIND_STATUS_ACCEPTED) == bool(accepted):
                 # alt:
                 # returnValue((yield cls.objectWithID(home, resourceID)))
-                ownerHomeID = yield cls.ownerHomeID(home._txn, resourceID)
-                ownerHome = yield home._txn.homeWithResourceID(home._homeType, ownerHomeID)
+                ownerHome = yield home.ownerHomeFromChildID(resourceID)
                 ownerAddressBook = yield ownerHome.addressbook()
                 if accepted:
                     returnValue((yield home.childWithName(ownerAddressBook.shareeABName())))
@@ -726,11 +734,10 @@
         if groupBindRows:
             bindMode, homeID, resourceID, bindName, bindStatus, bindMessage = groupBindRows[0] #@UnusedVariable
             if (bindStatus == _BIND_STATUS_ACCEPTED) == bool(accepted):
-                ownerAddressBookID = yield AddressBookObject.ownerAddressBookID(home._txn, resourceID)
+                ownerAddressBookID = yield AddressBookObject.ownerAddressBookFromGroupID(home._txn, resourceID)
                 # alt:
                 # addressbook = yield cls.objectWithID(home, ownerAddressBookID)
-                ownerHomeID = yield cls.ownerHomeID(home._txn, ownerAddressBookID)
-                ownerHome = yield home._txn.homeWithResourceID(home._homeType, ownerHomeID)
+                ownerHome = yield home.ownerHomeFromChildID(ownerAddressBookID)
                 ownerAddressBook = yield ownerHome.addressbook()
                 if accepted:
                     addressbook = yield home.childWithName(ownerAddressBook.shareeABName())
@@ -754,13 +761,15 @@
         @return: an L{CommonHomeChild} or C{None} if no such child
             exists.
         """
+        if home._resourceID == resourceID:
+            returnValue((yield home.addressbook()))
+
         bindRows = yield cls._bindForResourceIDAndHomeID.on(
             home._txn, resourceID=resourceID, homeID=home._resourceID
         )
         if bindRows:
             bindMode, homeID, resourceID, bindName, bindStatus, bindMessage = bindRows[0] #@UnusedVariable
-            ownerHomeID = yield cls.ownerHomeID(home._txn, resourceID)
-            ownerHome = yield home._txn.homeWithResourceID(home._homeType, ownerHomeID)
+            ownerHome = yield home.ownerHomeIDFromChildID(resourceID)
             ownerAddressBook = yield ownerHome.addressbook()
             if bindStatus == _BIND_STATUS_ACCEPTED:
                 returnValue((yield home.childWithName(ownerAddressBook.shareeABName())))
@@ -772,9 +781,8 @@
         )
         if groupBindRows:
             bindMode, homeID, resourceID, bindName, bindStatus, bindMessage = groupBindRows[0] #@UnusedVariable
-            ownerAddressBookID = yield AddressBookObject.ownerAddressBookID(home._txn, resourceID)
-            ownerHomeID = yield cls.ownerHomeID(home._txn, ownerAddressBookID)
-            ownerHome = yield home._txn.homeWithResourceID(home._homeType, ownerHomeID)
+            ownerAddressBookID = yield AddressBookObject.ownerAddressBookFromGroupID(home._txn, resourceID)
+            ownerHome = yield home.ownerHomeFromChildID(ownerAddressBookID)
             ownerAddressBook = yield ownerHome.addressbook()
             if bindStatus == _BIND_STATUS_ACCEPTED:
                 returnValue((yield home.childWithName(ownerAddressBook.shareeABName())))
@@ -885,11 +893,11 @@
 
 
     @inlineCallbacks
-    def invitedGroupIDs(self):
+    def unacceptedGroupIDs(self):
         if self.owned():
             returnValue([])
         else:
-            groupBindRows = yield AddressBookObject._invitedBindWithHomeIDAndAddressBookID.on(
+            groupBindRows = yield AddressBookObject._unacceptedBindWithHomeIDAndAddressBookID.on(
                     self._txn, homeID=self._home._resourceID, addressbookID=self._resourceID
             )
             #for bindMode, homeID, resourceID, bindName, bindStatus, bindMessage in groupBindRows: #@UnusedVariable
@@ -905,7 +913,7 @@
                     self._txn, homeID=self._home._resourceID, addressbookID=self._resourceID
             )
             #for bindMode, homeID, resourceID, bindName, bindStatus, bindMessage in groupBindRows: #@UnusedVariable
-        returnValue([groupBindRow[2] for groupBindRow in groupBindRows])
+            returnValue([groupBindRow[2] for groupBindRow in groupBindRows])
 
 
     @inlineCallbacks
@@ -1151,7 +1159,7 @@
     _bindSchema = schema.GROUP_ADDRESSBOOK_HOME_BIND
 
 
-    def __init__(self, addressbook, name, uid, resourceID=None, metadata=None):
+    def __init__(self, addressbook, name, uid, resourceID=None, metadata=None): #@UnusedVariable
 
         self._kind = None
         self._ownerAddressBookResourceID = None
@@ -1316,21 +1324,25 @@
             acceptedGroupIDs = yield self._addressbook.acceptedGroupIDs()
             allowedObjectIDs = yield self._addressbook._objectIDsInExpandedGroupIDs(self._txn, acceptedGroupIDs)
             if self._name:
-                rows = (yield self._allColumnsWithResourceIDsAndName(allowedObjectIDs).on(
-                    self._txn, name=self._name,
-                    resourceIDs=allowedObjectIDs,
-                )) if allowedObjectIDs else []
+                if allowedObjectIDs:
+                    rows = (yield self._allColumnsWithResourceIDsAndName(allowedObjectIDs).on(
+                        self._txn, name=self._name,
+                        resourceIDs=allowedObjectIDs,
+                    ))
             elif self._uid:
-                rows = (yield self._allColumnsWithResourceIDsAndUID(allowedObjectIDs).on(
-                    self._txn, uid=self._uid,
-                    resourceIDs=allowedObjectIDs,
-                )) if allowedObjectIDs else []
+                if allowedObjectIDs:
+                    rows = (yield self._allColumnsWithResourceIDsAndUID(allowedObjectIDs).on(
+                        self._txn, uid=self._uid,
+                        resourceIDs=allowedObjectIDs,
+                    ))
             elif self._resourceID:
                 if self._resourceID not in allowedObjectIDs:
-                    allowedObjectIDs = yield self._addressbook.invitedGroupIDs()
-                rows = (yield self._allColumnsWithResourceID.on(
-                    self._txn, resourceID=self._resourceID,
-                )) if (self._resourceID in allowedObjectIDs) else []
+                    # allow invited groups
+                    allowedObjectIDs = yield self._addressbook.unacceptedGroupIDs()
+                if self._resourceID in allowedObjectIDs:
+                    rows = (yield self._allColumnsWithResourceID.on(
+                        self._txn, resourceID=self._resourceID,
+                    ))
 
         if rows:
             self._initFromRow(tuple(rows[0]))
@@ -1347,7 +1359,7 @@
                 )
 
                 if groupBindRows:
-                    bindMode, homeID, resourceID, bindName, bindStatus, bindMessage = groupBindRows[0] #@UnusedVariable\
+                    bindMode, homeID, resourceID, bindName, bindStatus, bindMessage = groupBindRows[0] #@UnusedVariable
                     self._bindMode = bindMode
                     self._bindStatus = bindStatus
                     self._bindMessage = bindMessage
@@ -1538,7 +1550,7 @@
 
 
     @inlineCallbacks
-    def updateDatabase(self, component, expand_until=None, reCreate=False,
+    def updateDatabase(self, component, expand_until=None, reCreate=False, #@UnusedVariable
                        inserting=False):
         """
         Update the database tables for the new data being written.
@@ -1831,22 +1843,6 @@
         return self._bindName
 
 
-    @classmethod
-    @inlineCallbacks
-    def ownerHomeID(cls, txn, resourceID):
-
-        abo = cls._objectSchema
-        groupAddressBookRows = yield Select(
-            [abo.ADDRESSBOOK_RESOURCE_ID],
-            From=abo,
-            Where=(abo.RESOURCE_ID == Parameter("resourceID"))
-        ).on(txn, resourceID=resourceID)
-        groupAddressBookID = groupAddressBookRows[0][0]
-        ownerHomeRows = yield cls._ownerHomeWithResourceID.on(txn, resourceID=groupAddressBookID)
-
-        returnValue(ownerHomeRows[0][0])
-
-
     # TODO: use _homeChildMetaDataSchema and CommonHomeChild._childrenAndMetadataForHomeID() instead
     @classproperty
     def _childrenAndMetadataForHomeID(cls): #@NoSelf
@@ -1946,7 +1942,7 @@
 
     @classmethod
     @inlineCallbacks
-    def ownerAddressBookID(cls, txn, resourceID):
+    def ownerAddressBookFromGroupID(cls, txn, resourceID):
         ownerAddressBookIDRows = yield cls._addressbookIDForResourceID.on(txn, resourceID=resourceID)
         returnValue(ownerAddressBookIDRows[0][0])
 
@@ -1962,10 +1958,7 @@
                 yield self.unshareWith(sharedToHome)
         else:
             # This collection is shared to me
-            ownerHomeID = yield self.ownerHomeID(self._txn, self._resourceID)
-            ownerHome = yield self._txn.homeWithResourceID(self._home._homeType,
-                ownerHomeID)
-            ownerAddressBook = yield ownerHome.addressbook()
+            ownerAddressBook = yield self._addressbook.ownerHome().addressbook()
             ownerGroup = yield ownerAddressBook.objectResourceWithID(self._resourceID)
             yield ownerGroup.unshareWith(self._home)
 
@@ -2105,31 +2098,6 @@
 
 
     @classproperty
-    def _acceptedBindWithAddressBookID(cls): #@NoSelf
-        bind = cls._bindSchema
-        abo = cls._objectSchema
-        return Select(
-                  cls._bindColumns(),
-                  From=bind.join(abo),
-                  Where=(bind.BIND_STATUS == _BIND_STATUS_ACCEPTED)
-                        .And(bind.RESOURCE_ID == abo.RESOURCE_ID)
-                        .And(abo.ADDRESSBOOK_RESOURCE_ID == Parameter("addressbookID"))
-        )
-
-    @classproperty
-    def _unacceptedBindWithAddressBookID(cls): #@NoSelf
-        bind = cls._bindSchema
-        abo = cls._objectSchema
-        return Select(
-                  cls._bindColumns(),
-                  From=bind.join(abo),
-                  Where=(bind.BIND_STATUS != _BIND_STATUS_ACCEPTED)
-                        .And(bind.RESOURCE_ID == abo.RESOURCE_ID)
-                        .And(abo.ADDRESSBOOK_RESOURCE_ID == Parameter("addressbookID"))
-        )
-
-
-    @classproperty
     def _acceptedBindWithHomeIDAndAddressBookID(cls): #@NoSelf
         bind = cls._bindSchema
         abo = cls._objectSchema
@@ -2144,13 +2112,13 @@
 
 
     @classproperty
-    def _invitedBindWithHomeIDAndAddressBookID(cls): #@NoSelf
+    def _unacceptedBindWithHomeIDAndAddressBookID(cls): #@NoSelf
         bind = cls._bindSchema
         abo = cls._objectSchema
         return Select(
                   cls._bindColumns(),
                   From=bind.join(abo),
-                  Where=(bind.BIND_STATUS == _BIND_STATUS_INVITED)
+                  Where=(bind.BIND_STATUS != _BIND_STATUS_ACCEPTED)
                         .And(bind.RESOURCE_ID == abo.RESOURCE_ID)
                         .And(bind.HOME_RESOURCE_ID == Parameter("homeID"))
                         .And(abo.ADDRESSBOOK_RESOURCE_ID == Parameter("addressbookID"))

Modified: CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql.py
===================================================================
--- CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql.py	2013-02-26 15:31:55 UTC (rev 10811)
+++ CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql.py	2013-02-26 20:00:36 UTC (rev 10812)
@@ -202,7 +202,7 @@
 
 
     @inlineCallbacks
-    def _withEachHomeDo(self, homeTable, homeFromTxn, action, batchSize):
+    def _withEachHomeDo(self, homeTable, homeFromTxn, action, batchSize): #@UnusedVariable
         """
         Implementation of L{ICalendarStore.withEachCalendarHomeDo} and
         L{IAddressbookStore.withEachAddressbookHomeDo}.
@@ -543,7 +543,7 @@
         return self.homeWithUID(EADDRESSBOOKTYPE, uid, create=create)
 
 
-    def _determineMemo(self, storeType, uid, create=False):
+    def _determineMemo(self, storeType, uid, create=False): #@UnusedVariable
         """
         Determine the memo dictionary to use for homeWithUID.
         """
@@ -1362,15 +1362,15 @@
 
 class _EmptyCacher(object):
 
-    def set(self, key, value):
+    def set(self, key, value): #@UnusedVariable
         return succeed(True)
 
 
-    def get(self, key, withIdentifier=False):
+    def get(self, key, withIdentifier=False): #@UnusedVariable
         return succeed(None)
 
 
-    def delete(self, key):
+    def delete(self, key): #@UnusedVariable
         return succeed(True)
 
 
@@ -1765,7 +1765,7 @@
 
 
     @inlineCallbacks
-    def resourceNamesSinceToken(self, token, depth):
+    def resourceNamesSinceToken(self, token, depth): #@UnusedVariable
 
         results = [
             (
@@ -2130,10 +2130,10 @@
         ).on(self._txn, **kwds)
 
     @inlineCallbacks
-    def ownerHomeForChildID(self, resourceID):
+    def ownerHomeFromChildID(self, resourceID):
         """
         Get the owner home for a shared child ID
-        Subclasses may override.  Currently Unused.
+        Subclasses may override.
         """
         ownerHomeRows = yield self._childClass._ownerHomeWithResourceID.on(self._txn, resourceID=resourceID)
         ownerHome = yield self._txn.homeWithResourceID(self._homeType, ownerHomeRows[0][0])
@@ -2446,7 +2446,7 @@
     """
 
     @classproperty
-    def _bindInsertQuery(cls, **kw): #@NoSelf
+    def _bindInsertQuery(cls, **kw): #@NoSelf #@UnusedVariable
         """
         DAL statement to create a bind entry that connects a collection to its
         home.
@@ -3015,8 +3015,7 @@
                 ownerHome = home
             else:
                 #TODO: get all ownerHomeIDs at once
-                ownerHomeID = yield cls.ownerHomeID(home._txn, resourceID)
-                ownerHome = yield home._txn.homeWithResourceID(home._homeType, ownerHomeID)
+                ownerHome = yield home.ownerHomeFromChildID(resourceID)
 
             child = cls(
                 home=home,
@@ -3040,13 +3039,6 @@
 
     @classmethod
     @inlineCallbacks
-    def ownerHomeID(cls, txn, resourceID):
-        ownerHomeRows = yield cls._ownerHomeWithResourceID.on(txn, resourceID=resourceID)
-        returnValue(ownerHomeRows[0][0])
-
-
-    @classmethod
-    @inlineCallbacks
     def objectWithName(cls, home, name, accepted=True):
         # replaces objectWithName()
         """
@@ -3072,15 +3064,6 @@
             # No cached copy
             rows = yield cls._bindForNameAndHomeID.on(home._txn, name=name, homeID=home._resourceID)
 
-            if rows:
-                bindMode, homeID, resourceID, resourceName, bindStatus, bindMessage = rows[0] #@UnusedVariable
-                # get ownerHomeID
-                if bindMode == _BIND_MODE_OWN:
-                    ownerHomeID = homeID
-                else:
-                    ownerHomeID = yield cls.ownerHomeID(home._txn, resourceID)
-                rows[0].append(ownerHomeID)
-
             if rows and queryCacher:
                 # Cache the result
                 queryCacher.setAfterCommit(home._txn, cacheKey, rows)
@@ -3088,14 +3071,14 @@
         if not rows:
             returnValue(None)
 
-        bindMode, homeID, resourceID, resourceName, bindStatus, bindMessage, ownerHomeID = rows[0] #@UnusedVariable
+        bindMode, homeID, resourceID, resourceName, bindStatus, bindMessage = rows[0] #@UnusedVariable
         if (bindStatus == _BIND_STATUS_ACCEPTED) != bool(accepted):
             returnValue(None)
 
         if bindMode == _BIND_MODE_OWN:
             ownerHome = home
         else:
-            ownerHome = yield home._txn.homeWithResourceID(home._homeType, ownerHomeID)
+            ownerHome = yield home.ownerHomeWithResourceID(resourceID)
 
         child = cls(
             home=home,
@@ -3379,23 +3362,6 @@
 
 
     @inlineCallbacks
-    def sharerHomeID(self):
-        """
-        Retrieve the resource ID of the owner of this home.
-
-        @return: a L{Deferred} that fires with the resource ID.
-        @rtype: L{Deferred} firing L{int}
-        """
-        if self.owned():
-            # If this was loaded by its owner then we can skip the query, since
-            # we already know who the owner is.
-            returnValue(self._home._resourceID)
-        else:
-            ownerHomeID = yield self.ownerHomeID(self._txn, self._resourceID)
-            returnValue(ownerHomeID)
-
-
-    @inlineCallbacks
     def objectResources(self):
         """
         Load and cache all children - Depth:1 optimization
@@ -3616,7 +3582,7 @@
         yield self.notifyChanged()
 
 
-    def _movedObjectResource(self, child, newparent):
+    def _movedObjectResource(self, child, newparent): #@UnusedVariable
         """
         Method that subclasses can override to do an extra DB adjustments when a resource
         is moved.
@@ -3848,7 +3814,7 @@
 
     BATCH_LOAD_SIZE = 50
 
-    def __init__(self, parent, name, uid, resourceID=None, metadata=None):
+    def __init__(self, parent, name, uid, resourceID=None, metadata=None): #@UnusedVariable
         self._parentCollection = parent
         self._resourceID = resourceID
         self._name = name
@@ -4757,7 +4723,7 @@
             returnValue(None)
 
 
-    def _loadPropertyStore(self, props=None, created=False):
+    def _loadPropertyStore(self, props=None, created=False): #@UnusedVariable
         if props is None:
             props = NonePropertyStore(self._home.uid())
         self._propertyStore = props
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20130226/c6c24971/attachment-0001.html>


More information about the calendarserver-changes mailing list