[CalendarServer-changes] [5021] CalendarServer/branches/users/glyph/contacts-server-merge

source_changes at macosforge.org source_changes at macosforge.org
Tue Feb 2 18:53:21 PST 2010


Revision: 5021
          http://trac.macosforge.org/projects/calendarserver/changeset/5021
Author:   glyph at apple.com
Date:     2010-02-02 18:53:21 -0800 (Tue, 02 Feb 2010)
Log Message:
-----------
Propagate enabledForAddressBooks property through augments and XML-parsing machinery, to address a unit test failure.

Modified Paths:
--------------
    CalendarServer/branches/users/glyph/contacts-server-merge/conf/auth/augments-test.xml
    CalendarServer/branches/users/glyph/contacts-server-merge/twistedcaldav/directory/augment.py
    CalendarServer/branches/users/glyph/contacts-server-merge/twistedcaldav/directory/directory.py
    CalendarServer/branches/users/glyph/contacts-server-merge/twistedcaldav/directory/test/test_principal.py
    CalendarServer/branches/users/glyph/contacts-server-merge/twistedcaldav/directory/xmlaugmentsparser.py

Modified: CalendarServer/branches/users/glyph/contacts-server-merge/conf/auth/augments-test.xml
===================================================================
--- CalendarServer/branches/users/glyph/contacts-server-merge/conf/auth/augments-test.xml	2010-02-03 02:36:26 UTC (rev 5020)
+++ CalendarServer/branches/users/glyph/contacts-server-merge/conf/auth/augments-test.xml	2010-02-03 02:53:21 UTC (rev 5021)
@@ -23,17 +23,20 @@
     <guid>Default</guid>
     <enable>true</enable>
     <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
   </record>
   <record repeat="10">
     <guid>location%02d</guid>
     <enable>true</enable>
     <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
     <auto-schedule>true</auto-schedule>
   </record>
   <record repeat="10">
     <guid>resource%02d</guid>
     <enable>true</enable>
     <enable-calendar>true</enable-calendar>
+    <enable-addressbook>true</enable-addressbook>
     <auto-schedule>true</auto-schedule>
   </record>
   <record repeat="4">

Modified: CalendarServer/branches/users/glyph/contacts-server-merge/twistedcaldav/directory/augment.py
===================================================================
--- CalendarServer/branches/users/glyph/contacts-server-merge/twistedcaldav/directory/augment.py	2010-02-03 02:36:26 UTC (rev 5020)
+++ CalendarServer/branches/users/glyph/contacts-server-merge/twistedcaldav/directory/augment.py	2010-02-03 02:53:21 UTC (rev 5021)
@@ -40,11 +40,13 @@
         hostedAt="",
         enabledForCalendaring=False,
         autoSchedule=False,
+        enabledForAddressBooks=False,
     ):
         self.guid = guid
         self.enabled = enabled
         self.hostedAt = hostedAt
         self.enabledForCalendaring = enabledForCalendaring
+        self.enabledForAddressBooks = enabledForAddressBooks
         self.autoSchedule = autoSchedule
 
 class AugmentDB(object):

Modified: CalendarServer/branches/users/glyph/contacts-server-merge/twistedcaldav/directory/directory.py
===================================================================
--- CalendarServer/branches/users/glyph/contacts-server-merge/twistedcaldav/directory/directory.py	2010-02-03 02:36:26 UTC (rev 5020)
+++ CalendarServer/branches/users/glyph/contacts-server-merge/twistedcaldav/directory/directory.py	2010-02-03 02:53:21 UTC (rev 5021)
@@ -303,7 +303,7 @@
         shortNames=(), authIDs=set(), fullName=None,
         firstName=None, lastName=None, emailAddresses=set(),
         calendarUserAddresses=set(), autoSchedule=False, enabledForCalendaring=None,
-        enabledForAddressBooks=True,
+        enabledForAddressBooks=None,
         uid=None,
     ):
         assert service.realmName is not None
@@ -377,6 +377,7 @@
             self.enabled = augment.enabled
             self.hostedAt = augment.hostedAt
             self.enabledForCalendaring = augment.enabledForCalendaring
+            self.enabledForAddressBooks = augment.enabledForAddressBooks
             self.autoSchedule = augment.autoSchedule
 
             if self.enabledForCalendaring and self.recordType == self.service.recordType_groups:

Modified: CalendarServer/branches/users/glyph/contacts-server-merge/twistedcaldav/directory/test/test_principal.py
===================================================================
--- CalendarServer/branches/users/glyph/contacts-server-merge/twistedcaldav/directory/test/test_principal.py	2010-02-03 02:36:26 UTC (rev 5020)
+++ CalendarServer/branches/users/glyph/contacts-server-merge/twistedcaldav/directory/test/test_principal.py	2010-02-03 02:53:21 UTC (rev 5021)
@@ -201,7 +201,9 @@
         """
         DirectoryPrincipalProvisioningResource.principalForCalendarUserAddress()
         """
-        for provisioningResource, recordType, recordResource, record in self._allRecords():
+        for (
+            provisioningResource, recordType, recordResource, record
+        ) in self._allRecords():
             principalURL = recordResource.principalURL()
             if principalURL.endswith("/"):
                 alternateURL = principalURL[:-1]
@@ -218,11 +220,33 @@
 
         # Explicitly check the disabled record
         provisioningResource = self.principalRootResources['XMLDirectoryService']
-        self.failIf(provisioningResource.principalForCalendarUserAddress("mailto:nocalendar at example.com") is not None)
-        self.failIf(provisioningResource.principalForCalendarUserAddress("urn:uuid:543D28BA-F74F-4D5F-9243-B3E3A61171E5") is not None)
-        self.failIf(provisioningResource.principalForCalendarUserAddress("/principals/users/nocalendar/") is not None)
-        self.failIf(provisioningResource.principalForCalendarUserAddress("/principals/__uids__/543D28BA-F74F-4D5F-9243-B3E3A61171E5/") is not None)
 
+        self.failUnlessIdentical(
+            provisioningResource.principalForCalendarUserAddress(
+                "mailto:nocalendar at example.com"
+            ),
+            None
+        )
+        self.failUnlessIdentical(
+            provisioningResource.principalForCalendarUserAddress(
+                "urn:uuid:543D28BA-F74F-4D5F-9243-B3E3A61171E5"
+            ),
+            None
+        )
+        self.failUnlessIdentical(
+            provisioningResource.principalForCalendarUserAddress(
+                "/principals/users/nocalendar/"
+            ),
+            None
+        )
+        self.failUnlessIdentical(
+            provisioningResource.principalForCalendarUserAddress(
+                "/principals/__uids__/543D28BA-F74F-4D5F-9243-B3E3A61171E5/"
+            ),
+            None
+        )
+
+
     def test_enabledForCalendaring(self):
         """
         DirectoryPrincipalProvisioningResource.principalForCalendarUserAddress()
@@ -460,7 +484,9 @@
             for each record in each directory in C{directoryServices}.
         """
         for directory in self.directoryServices:
-            provisioningResource = self.principalRootResources[directory.__class__.__name__]
+            provisioningResource = self.principalRootResources[
+                directory.__class__.__name__
+            ]
             for recordType in directory.recordTypes():
                 for record in directory.listRecords(recordType):
                     recordResource = provisioningResource.principalForRecord(record)

Modified: CalendarServer/branches/users/glyph/contacts-server-merge/twistedcaldav/directory/xmlaugmentsparser.py
===================================================================
--- CalendarServer/branches/users/glyph/contacts-server-merge/twistedcaldav/directory/xmlaugmentsparser.py	2010-02-03 02:36:26 UTC (rev 5020)
+++ CalendarServer/branches/users/glyph/contacts-server-merge/twistedcaldav/directory/xmlaugmentsparser.py	2010-02-03 02:53:21 UTC (rev 5021)
@@ -36,6 +36,7 @@
 ELEMENT_GUID              = "guid"
 ELEMENT_ENABLE            = "enable"
 ELEMENT_HOSTEDAT          = "hosted-at"
+ELEMENT_ENABLEADDRESSBOOK = "enable-addressbook"
 ELEMENT_ENABLECALENDAR    = "enable-calendar"
 ELEMENT_AUTOSCHEDULE      = "auto-schedule"
 
@@ -45,11 +46,12 @@
 VALUE_FALSE               = "false"
 
 ELEMENT_AUGMENTRECORD_MAP = {
-    ELEMENT_GUID:           "guid",
-    ELEMENT_ENABLE:         "enabled",
-    ELEMENT_HOSTEDAT:       "hostedAt",
-    ELEMENT_ENABLECALENDAR: "enabledForCalendaring",
-    ELEMENT_AUTOSCHEDULE:   "autoSchedule",
+    ELEMENT_GUID:              "guid",
+    ELEMENT_ENABLE:            "enabled",
+    ELEMENT_HOSTEDAT:          "hostedAt",
+    ELEMENT_ENABLECALENDAR:    "enabledForCalendaring",
+    ELEMENT_ENABLEADDRESSBOOK: "enabledForAddressBooks",
+    ELEMENT_AUTOSCHEDULE:      "autoSchedule",
 }
 
 class XMLAugmentsParser(object):
@@ -101,6 +103,7 @@
                     ELEMENT_ENABLE,
                     ELEMENT_ENABLECALENDAR,
                     ELEMENT_AUTOSCHEDULE,
+                    ELEMENT_ENABLEADDRESSBOOK
                 ):
                     fields[node.tag] = node.text == VALUE_TRUE
                 else:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100202/0e3768db/attachment-0001.html>


More information about the calendarserver-changes mailing list