[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