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

source_changes at macosforge.org source_changes at macosforge.org
Thu Jan 17 16:35:17 PST 2013


Revision: 10311
          http://trac.calendarserver.org//changeset/10311
Author:   gaya at apple.com
Date:     2013-01-17 16:35:16 -0800 (Thu, 17 Jan 2013)
Log Message:
-----------
Remove AddressBookSharingMixIn(), clean up SharingMixin

Modified Paths:
--------------
    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/carddav/datastore/sql.py
===================================================================
--- CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/sql.py	2013-01-18 00:00:14 UTC (rev 10310)
+++ CalendarServer/branches/users/gaya/sharedgroups/txdav/carddav/datastore/sql.py	2013-01-18 00:35:16 UTC (rev 10311)
@@ -154,50 +154,8 @@
 
 AddressBookHome._register(EADDRESSBOOKTYPE)
 
-class AddressBookSharingMixIn(SharingMixIn):
 
-
-    @classproperty
-    def _insertABObject(cls): #@NoSelf
-        """
-        DAL statement to create an addressbook object with all default values.
-        """
-        abo = schema.ADDRESSBOOK_OBJECT
-        return Insert(
-            {abo.RESOURCE_ID: schema.RESOURCE_ID_SEQ,
-             abo.ADDRESSBOOK_RESOURCE_ID: Parameter("addressbookResourceID"),
-             abo.RESOURCE_NAME: Parameter("name"),
-             abo.VCARD_TEXT: Parameter("text"),
-             abo.VCARD_UID: Parameter("uid"),
-             abo.KIND: Parameter("kind"),
-             abo.MD5: Parameter("md5"),
-             },
-            Return=(abo.RESOURCE_ID,
-                    abo.CREATED,
-                    abo.MODIFIED))
-
-
-    @classmethod
-    def _abObjectColumnsWithResourceIDsQuery(cls, columns, resourceIDs): #@NoSelf
-        """
-        DAL statement to retrieve addressbook object rows with given columns.
-        """
-        obj = cls._objectSchema
-        return Select(columns, From=obj,
-                      Where=obj.RESOURCE_ID.In(Parameter("resourceIDs", len(resourceIDs))),)
-
-
-    @classmethod
-    def _abObjectColumnsWithAddressBookResourceID(cls, columns,): #@NoSelf
-        """
-        DAL statement to retrieve addressbook object rows with given columns.
-        """
-        obj = cls._objectSchema
-        return Select(columns, From=obj,
-                      Where=obj.ADDRESSBOOK_RESOURCE_ID == Parameter("addressbookResourceID"),)
-
-
-class AddressBook(CommonHomeChild, AddressBookSharingMixIn):
+class AddressBook(CommonHomeChild, SharingMixIn):
     """
     SQL-based implementation of L{IAddressBook}.
     """
@@ -331,6 +289,16 @@
         returnValue(self._ownerAddressBook)
 
 
+    @classmethod
+    def _abObjectColumnsWithAddressBookResourceID(cls, columns,): #@NoSelf
+        """
+        DAL statement to retrieve addressbook object rows with given columns.
+        """
+        obj = cls._objectSchema
+        return Select(columns, From=obj,
+                      Where=obj.ADDRESSBOOK_RESOURCE_ID == Parameter("addressbookResourceID"),)
+
+
     @inlineCallbacks
     def _groupForSharedAddressBookRow(self): #@NoSelf
 
@@ -634,7 +602,7 @@
 
 
 
-class AddressBookObject(CommonObjectResource, AddressBookSharingMixIn):
+class AddressBookObject(CommonObjectResource, SharingMixIn):
 
     implements(IAddressBookObject)
 
@@ -766,36 +734,6 @@
             Where=obj.RESOURCE_ID == Parameter("resourceID"),)
 
 
-    '''
-    @classmethod
-    def _allWithParentAnd(cls, column, paramName):
-        """
-        DAL query for all columns where PARENT_RESOURCE_ID matches a parentID
-        parameter and a given instance column matches a given parameter name.
-        """
-        return Select(
-            cls._allColumns, From=cls._objectSchema,
-            Where=(column == Parameter(paramName)).And(
-                cls._objectSchema.PARENT_RESOURCE_ID == Parameter("parentID"))
-        )
-
-
-    @classproperty
-    def _allWithParentAndName(cls): #@NoSelf
-        return cls._allWithParentAnd(cls._objectSchema.RESOURCE_NAME, "name")
-
-
-    @classproperty
-    def _allWithParentAndUID(cls): #@NoSelf
-        return cls._allWithParentAnd(cls._objectSchema.UID, "uid")
-
-
-    @classproperty
-    def _allWithParentAndID(cls): #@NoSelf
-        return cls._allWithParentAnd(cls._objectSchema.RESOURCE_ID, "resourceID")
-
-    '''
-
     @inlineCallbacks
     def initFromStore(self):
         """
@@ -931,6 +869,16 @@
 
 
     @classmethod
+    def _abObjectColumnsWithResourceIDsQuery(cls, columns, resourceIDs): #@NoSelf
+        """
+        DAL statement to retrieve addressbook object rows with given columns.
+        """
+        obj = cls._objectSchema
+        return Select(columns, From=obj,
+                      Where=obj.RESOURCE_ID.In(Parameter("resourceIDs", len(resourceIDs))),)
+
+
+    @classmethod
     @inlineCallbacks
     def _allColumnsWithParent(cls, parent): #@NoSelf
 
@@ -1037,6 +985,26 @@
                     aboForeignMembers.MEMBER_ADDRESS.In(Parameter("memberAddrs", len(memberAddrs)))))
 
 
+    @classproperty
+    def _insertABObject(cls): #@NoSelf
+        """
+        DAL statement to create an addressbook object with all default values.
+        """
+        abo = schema.ADDRESSBOOK_OBJECT
+        return Insert(
+            {abo.RESOURCE_ID: schema.RESOURCE_ID_SEQ,
+             abo.ADDRESSBOOK_RESOURCE_ID: Parameter("addressbookResourceID"),
+             abo.RESOURCE_NAME: Parameter("name"),
+             abo.VCARD_TEXT: Parameter("text"),
+             abo.VCARD_UID: Parameter("uid"),
+             abo.KIND: Parameter("kind"),
+             abo.MD5: Parameter("md5"),
+             },
+            Return=(abo.RESOURCE_ID,
+                    abo.CREATED,
+                    abo.MODIFIED))
+
+
     @inlineCallbacks
     def updateDatabase(self, component, expand_until=None, reCreate=False,
                        inserting=False):

Modified: CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql.py
===================================================================
--- CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql.py	2013-01-18 00:00:14 UTC (rev 10310)
+++ CalendarServer/branches/users/gaya/sharedgroups/txdav/common/datastore/sql.py	2013-01-18 00:35:16 UTC (rev 10311)
@@ -2123,6 +2123,33 @@
     """
         Common class for CommonHomeChild and AddressBookObject
     """
+
+    @classproperty
+    def _bindInsertQuery(cls, **kw): #@NoSelf
+        """
+        DAL statement to create a bind entry that connects a collection to its
+        home.
+        """
+        bind = cls._bindSchema
+        return Insert({
+            bind.HOME_RESOURCE_ID: Parameter("homeID"),
+            bind.RESOURCE_ID: Parameter("resourceID"),
+            bind.RESOURCE_NAME: Parameter("name"),
+            bind.BIND_MODE: Parameter("mode"),
+            bind.BIND_STATUS: Parameter("bindStatus"),
+            bind.MESSAGE: Parameter("message"),
+        })
+
+
+    @classproperty
+    def _updateBindQuery(cls): #@NoSelf
+        bind = cls._bindSchema
+        return cls._updateBindColumnsQuery(
+                    {bind.BIND_MODE: Parameter("mode"),
+                     bind.BIND_STATUS: Parameter("status"),
+                     bind.MESSAGE: Parameter("message")})
+
+
     @inlineCallbacks
     def shareWith(self, shareeHome, mode, status=None, message=None):
         """
@@ -2175,6 +2202,15 @@
         returnValue(sharedName)
 
 
+    @classmethod
+    def _updateBindColumnsQuery(cls, columnMap): #@NoSelf
+        bind = cls._bindSchema
+        return Update(columnMap,
+                      Where=(bind.RESOURCE_ID == Parameter("resourceID"))
+                      .And(bind.HOME_RESOURCE_ID == Parameter("homeID")),
+                      Return=bind.RESOURCE_NAME)
+
+
     @inlineCallbacks
     def updateShare(self, shareeView, mode=None, status=None, message=None, name=None):
         """
@@ -2296,6 +2332,30 @@
         returnValue(resourceName)
 
 
+    @classmethod
+    def _bindFor(cls, condition): #@NoSelf
+        bind = cls._bindSchema
+        return Select(
+            [bind.BIND_MODE,
+             bind.HOME_RESOURCE_ID,
+             bind.RESOURCE_ID,
+             bind.RESOURCE_NAME,
+             bind.BIND_STATUS,
+             bind.MESSAGE],
+                  From=bind,
+                  Where=condition
+        )
+
+
+    @classproperty
+    def _sharedBindForResourceID(cls): #@NoSelf
+        bind = cls._bindSchema
+        return cls._bindFor((bind.RESOURCE_ID == Parameter("resourceID"))
+                            .And(bind.BIND_STATUS == _BIND_STATUS_ACCEPTED)
+                            .And(bind.BIND_MODE != _BIND_MODE_OWN)
+                            )
+
+
     @inlineCallbacks
     def asShared(self):
         """
@@ -2333,6 +2393,14 @@
         returnValue(result)
 
 
+    @classproperty
+    def _invitedBindForResourceID(cls): #@NoSelf
+        bind = cls._bindSchema
+        return cls._bindFor((bind.RESOURCE_ID == Parameter("resourceID"))
+                            .And(bind.BIND_STATUS != _BIND_STATUS_ACCEPTED)
+                            )
+
+
     @inlineCallbacks
     def asInvited(self):
         """
@@ -2369,117 +2437,6 @@
         returnValue(result)
 
 
-    @classproperty
-    def _bindInsertQuery(cls, **kw): #@NoSelf
-        """
-        DAL statement to create a bind entry that connects a collection to its
-        home.
-        """
-        bind = cls._bindSchema
-        return Insert({
-            bind.HOME_RESOURCE_ID: Parameter("homeID"),
-            bind.RESOURCE_ID: Parameter("resourceID"),
-            bind.RESOURCE_NAME: Parameter("name"),
-            bind.BIND_MODE: Parameter("mode"),
-            bind.BIND_STATUS: Parameter("bindStatus"),
-            bind.MESSAGE: Parameter("message"),
-        })
-
-    @classmethod
-    def _updateBindColumnsQuery(cls, columnMap): #@NoSelf
-        bind = cls._bindSchema
-        return Update(columnMap,
-                      Where=(bind.RESOURCE_ID == Parameter("resourceID"))
-                      .And(bind.HOME_RESOURCE_ID == Parameter("homeID")),
-                      Return=bind.RESOURCE_NAME)
-
-
-    @classproperty
-    def _updateBindQuery(cls): #@NoSelf
-        bind = cls._bindSchema
-        return cls._updateBindColumnsQuery(
-                    {bind.BIND_MODE: Parameter("mode"),
-                     bind.BIND_STATUS: Parameter("status"),
-                     bind.MESSAGE: Parameter("message")})
-
-
-
-    @classmethod
-    def _bindFor(cls, condition): #@NoSelf
-        bind = cls._bindSchema
-        return Select(
-            [bind.BIND_MODE,
-             bind.HOME_RESOURCE_ID,
-             bind.RESOURCE_ID,
-             bind.RESOURCE_NAME,
-             bind.BIND_STATUS,
-             bind.MESSAGE],
-                  From=bind,
-                  Where=condition
-        )
-
-
-    @classproperty
-    def _invitedBindForResourceID(cls): #@NoSelf
-        bind = cls._bindSchema
-        return cls._bindFor((bind.RESOURCE_ID == Parameter("resourceID"))
-                            .And(bind.BIND_STATUS != _BIND_STATUS_ACCEPTED)
-                            )
-
-
-    @classproperty
-    def _sharedBindForResourceID(cls): #@NoSelf
-        bind = cls._bindSchema
-        return cls._bindFor((bind.RESOURCE_ID == Parameter("resourceID"))
-                            .And(bind.BIND_STATUS == _BIND_STATUS_ACCEPTED)
-                            .And(bind.BIND_MODE != _BIND_MODE_OWN)
-                            )
-
-
-    @classmethod
-    def _sharedBindForResourceIDRows(cls, txn, resourceID, homeID): #@NoSelf
-        return cls._sharedBindForResourceID.on(
-            txn, resourceID=resourceID, homeID=homeID
-        )
-
-
-    @classproperty
-    def _invitedBindForHomeID(cls): #@NoSelf
-        bind = cls._bindSchema
-        return cls._bindFor((bind.HOME_RESOURCE_ID == Parameter("homeID"))
-                            .And(bind.BIND_STATUS != _BIND_STATUS_ACCEPTED))
-
-
-    @classproperty
-    def _invitedBindForNameAndHomeID(cls): #@NoSelf
-        bind = cls._bindSchema
-        return cls._bindFor((bind.RESOURCE_NAME == Parameter("name"))
-                               .And(bind.HOME_RESOURCE_ID == Parameter("homeID"))
-                               .And(bind.BIND_STATUS != _BIND_STATUS_ACCEPTED)
-                               )
-
-
-    @classproperty
-    def _childForNameAndHomeID(cls): #@NoSelf
-        bind = cls._bindSchema
-        return cls._bindFor((bind.RESOURCE_NAME == Parameter("name"))
-                               .And(bind.HOME_RESOURCE_ID == Parameter("homeID"))
-                               .And(bind.BIND_STATUS == _BIND_STATUS_ACCEPTED)
-                               )
-
-
-    @classproperty
-    def _bindForResourceIDAndHomeID(cls): #@NoSelf
-        """
-        DAL query that looks up home child names / bind modes by home child
-        resource ID and home resource ID.
-        """
-        bind = cls._bindSchema
-        return cls._bindFor((bind.RESOURCE_ID == Parameter("resourceID"))
-                               .And(bind.HOME_RESOURCE_ID == Parameter("homeID"))
-                               )
-
-
 class CommonHomeChild(LoggingMixIn, FancyEqMixin, _SharedSyncLogic, HomeChildBase, SharingMixIn):
     """
     Common ancestor class of AddressBooks and Calendars.
@@ -2586,11 +2543,16 @@
         rows = yield cls._childNamesForHomeID.on(
                 home._txn, homeID=home._resourceID)
         names = [row[0] for row in rows]
-
         returnValue(names)
 
 
+    @classproperty
+    def _invitedBindForHomeID(cls): #@NoSelf
+        bind = cls._bindSchema
+        return cls._bindFor((bind.HOME_RESOURCE_ID == Parameter("homeID"))
+                            .And(bind.BIND_STATUS != _BIND_STATUS_ACCEPTED))
 
+
     @classmethod
     @inlineCallbacks
     def listInvitedObjects(cls, home):
@@ -2765,6 +2727,15 @@
         returnValue(results)
 
 
+    @classproperty
+    def _invitedBindForNameAndHomeID(cls): #@NoSelf
+        bind = cls._bindSchema
+        return cls._bindFor((bind.RESOURCE_NAME == Parameter("name"))
+                               .And(bind.HOME_RESOURCE_ID == Parameter("homeID"))
+                               .And(bind.BIND_STATUS != _BIND_STATUS_ACCEPTED)
+                               )
+
+
     @classmethod
     @inlineCallbacks
     def ownerHomeID(cls, txn, resourceID):
@@ -2819,6 +2790,15 @@
         returnValue(child)
 
 
+    @classproperty
+    def _childForNameAndHomeID(cls): #@NoSelf
+        bind = cls._bindSchema
+        return cls._bindFor((bind.RESOURCE_NAME == Parameter("name"))
+                               .And(bind.HOME_RESOURCE_ID == Parameter("homeID"))
+                               .And(bind.BIND_STATUS == _BIND_STATUS_ACCEPTED)
+                               )
+
+
     @classmethod
     @inlineCallbacks
     def objectWithName(cls, home, name):
@@ -2879,6 +2859,18 @@
         returnValue(child)
 
 
+    @classproperty
+    def _bindForResourceIDAndHomeID(cls): #@NoSelf
+        """
+        DAL query that looks up home child names / bind modes by home child
+        resource ID and home resource ID.
+        """
+        bind = cls._bindSchema
+        return cls._bindFor((bind.RESOURCE_ID == Parameter("resourceID"))
+                               .And(bind.HOME_RESOURCE_ID == Parameter("homeID"))
+                               )
+
+
     @classmethod
     @inlineCallbacks
     def objectWithID(cls, home, resourceID):
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20130117/80b5dcde/attachment-0001.html>


More information about the calendarserver-changes mailing list