[CalendarServer-changes] [4247] CalendarServer/branches/release/CalendarServer-2.2-dev

source_changes at macosforge.org source_changes at macosforge.org
Tue May 12 18:17:45 PDT 2009


Revision: 4247
          http://trac.macosforge.org/projects/calendarserver/changeset/4247
Author:   wsanchez at apple.com
Date:     2009-05-12 18:17:44 -0700 (Tue, 12 May 2009)
Log Message:
-----------
Pulled up r4240 from trunk.

Modified Paths:
--------------
    CalendarServer/branches/release/CalendarServer-2.2-dev/calendarserver/provision/test/test_root.py
    CalendarServer/branches/release/CalendarServer-2.2-dev/calendarserver/tap/caldav.py
    CalendarServer/branches/release/CalendarServer-2.2-dev/calendarserver/tools/util.py
    CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/config.py
    CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/apache.py
    CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/appleopendirectory.py
    CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/directory.py
    CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_aggregate.py
    CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_apache.py
    CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_calendar.py
    CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_guidchange.py
    CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_opendirectory.py
    CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_opendirectoryschema.py
    CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_principal.py
    CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_proxyprincipalmembers.py
    CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_xmlfile.py
    CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/xmlfile.py
    CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/test/test_config.py

Property Changed:
----------------
    CalendarServer/branches/release/CalendarServer-2.2-dev/
    CalendarServer/branches/release/CalendarServer-2.2-dev/doc/Extensions/caldav-privatecomments.txt
    CalendarServer/branches/release/CalendarServer-2.2-dev/doc/Extensions/caldav-privatecomments.xml
    CalendarServer/branches/release/CalendarServer-2.2-dev/doc/Extensions/caldav-schedulingchanges.txt
    CalendarServer/branches/release/CalendarServer-2.2-dev/doc/Extensions/caldav-schedulingchanges.xml


Property changes on: CalendarServer/branches/release/CalendarServer-2.2-dev
___________________________________________________________________
Modified: svn:mergeinfo
   - /CalendarServer/branches/users/sagen/resource-delegates-4038:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066:4068-4075
/CalendarServer/trunk:4105-4107,4113-4116,4121-4124,4137-4139,4141-4144,4154-4159,4163-4167,4172,4174-4176,4178-4180,4191,4194,4197-4202,4205-4206,4209,4213,4215-4216,4219-4220,4222,4224,4227,4231-4233,4237
   + /CalendarServer/branches/users/sagen/resource-delegates-4038:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066:4068-4075
/CalendarServer/trunk:4105-4107,4113-4116,4121-4124,4137-4139,4141-4144,4154-4159,4163-4167,4172,4174-4176,4178-4180,4191,4194,4197-4202,4205-4206,4209,4213,4215-4216,4219-4220,4222,4224,4227,4231-4233,4237,4240

Modified: CalendarServer/branches/release/CalendarServer-2.2-dev/calendarserver/provision/test/test_root.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-2.2-dev/calendarserver/provision/test/test_root.py	2009-05-13 01:16:15 UTC (rev 4246)
+++ CalendarServer/branches/release/CalendarServer-2.2-dev/calendarserver/provision/test/test_root.py	2009-05-13 01:17:44 UTC (rev 4247)
@@ -59,7 +59,7 @@
         RootResource.CheckSACL = FakeCheckSACL(sacls={
                 'calendar': ['dreid']})
 
-        directory = XMLDirectoryService(xmlFile)
+        directory = XMLDirectoryService({'xmlFile' : xmlFile})
 
         principals = DirectoryPrincipalProvisioningResource('/principals/', directory)
 

Modified: CalendarServer/branches/release/CalendarServer-2.2-dev/calendarserver/tap/caldav.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-2.2-dev/calendarserver/tap/caldav.py	2009-05-13 01:16:15 UTC (rev 4246)
+++ CalendarServer/branches/release/CalendarServer-2.2-dev/calendarserver/tap/caldav.py	2009-05-13 01:17:44 UTC (rev 4247)
@@ -428,7 +428,7 @@
         self.log_info("Configuring directory service of type: %s"
                       % (config.DirectoryService.type,))
 
-        baseDirectory = directoryClass(**config.DirectoryService.params)
+        baseDirectory = directoryClass(config.DirectoryService.params)
 
         directories.append(baseDirectory)
 

Modified: CalendarServer/branches/release/CalendarServer-2.2-dev/calendarserver/tools/util.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-2.2-dev/calendarserver/tools/util.py	2009-05-13 01:16:15 UTC (rev 4246)
+++ CalendarServer/branches/release/CalendarServer-2.2-dev/calendarserver/tools/util.py	2009-05-13 01:17:44 UTC (rev 4247)
@@ -87,7 +87,7 @@
             return self.principalCollection.principalForCalendarUserAddress(cua)
 
 
-    return MyDirectoryService(**config.DirectoryService.params)
+    return MyDirectoryService(config.DirectoryService.params)
 
 class DummyDirectoryService (DirectoryService):
     realmName = ""


Property changes on: CalendarServer/branches/release/CalendarServer-2.2-dev/doc/Extensions/caldav-privatecomments.txt
___________________________________________________________________
Modified: svn:mergeinfo
   - /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-privatecomments-00.txt:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-privatecomments-00.txt:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-privatecomments.txt:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-privatecomments-00.txt:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-privatecomments.txt:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-privatecomments.txt:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-privatecomments.txt:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-privatecomments.txt:4105-4107,4113-4116,4121-4124,4137-4139,4141-4144,4154-4159,4163-4167,4172,4174-4176,4178-4180,4191,4194,4197-4202,4209,4213,4222,4227,4231-4233,4237
   + /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-privatecomments-00.txt:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-privatecomments-00.txt:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-privatecomments.txt:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-privatecomments-00.txt:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-privatecomments.txt:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-privatecomments.txt:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-privatecomments.txt:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-privatecomments.txt:4105-4107,4113-4116,4121-4124,4137-4139,4141-4144,4154-4159,4163-4167,4172,4174-4176,4178-4180,4191,4194,4197-4202,4209,4213,4222,4227,4231-4233,4237,4240


Property changes on: CalendarServer/branches/release/CalendarServer-2.2-dev/doc/Extensions/caldav-privatecomments.xml
___________________________________________________________________
Modified: svn:mergeinfo
   - /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-privatecomments-00.xml:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-privatecomments-00.xml:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-privatecomments.xml:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-privatecomments-00.xml:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-privatecomments.xml:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-privatecomments.xml:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-privatecomments.xml:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-privatecomments.xml:4105-4107,4113-4116,4121-4124,4137-4139,4141-4144,4154-4159,4163-4167,4172,4174-4176,4178-4180,4191,4194,4197-4202,4209,4213,4222,4227,4231-4233,4237
   + /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-privatecomments-00.xml:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-privatecomments-00.xml:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-privatecomments.xml:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-privatecomments-00.xml:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-privatecomments.xml:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-privatecomments.xml:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-privatecomments.xml:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-privatecomments.xml:4105-4107,4113-4116,4121-4124,4137-4139,4141-4144,4154-4159,4163-4167,4172,4174-4176,4178-4180,4191,4194,4197-4202,4209,4213,4222,4227,4231-4233,4237,4240


Property changes on: CalendarServer/branches/release/CalendarServer-2.2-dev/doc/Extensions/caldav-schedulingchanges.txt
___________________________________________________________________
Modified: svn:mergeinfo
   - /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-schedulingchanges-01.txt:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-schedulingchanges-01.txt:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-schedulingchanges.txt:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-schedulingchanges-01.txt:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-schedulingchanges.txt:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-schedulingchanges.txt:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-schedulingchanges.txt:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-schedulingchanges.txt:4105-4107,4113-4116,4121-4124,4137-4139,4141-4144,4154-4159,4163-4167,4172,4174-4176,4178-4180,4191,4194,4197-4202,4209,4213,4222,4227,4231-4233,4237
   + /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-schedulingchanges-01.txt:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-schedulingchanges-01.txt:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-schedulingchanges.txt:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-schedulingchanges-01.txt:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-schedulingchanges.txt:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-schedulingchanges.txt:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-schedulingchanges.txt:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-schedulingchanges.txt:4105-4107,4113-4116,4121-4124,4137-4139,4141-4144,4154-4159,4163-4167,4172,4174-4176,4178-4180,4191,4194,4197-4202,4209,4213,4222,4227,4231-4233,4237,4240


Property changes on: CalendarServer/branches/release/CalendarServer-2.2-dev/doc/Extensions/caldav-schedulingchanges.xml
___________________________________________________________________
Modified: svn:mergeinfo
   - /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-schedulingchanges-01.xml:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-schedulingchanges-01.xml:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-schedulingchanges.xml:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-schedulingchanges-01.xml:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-schedulingchanges.xml:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-schedulingchanges.xml:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-schedulingchanges.xml:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-schedulingchanges.xml:4105-4107,4113-4116,4121-4124,4137-4139,4141-4144,4154-4159,4163-4167,4172,4174-4176,4178-4180,4191,4194,4197-4202,4209,4213,4222,4227,4231-4233,4237
   + /CalendarServer/branches/users/cdaboo/attendee-comments-2886/doc/Extensions/caldav-schedulingchanges-01.xml:2887-2910
/CalendarServer/branches/users/cdaboo/byebye-serviceslocator-2937/doc/Extensions/caldav-schedulingchanges-01.xml:2938-3097
/CalendarServer/branches/users/cdaboo/implicit-if-match-3306/doc/Extensions/caldav-schedulingchanges.xml:3307-3349
/CalendarServer/branches/users/cdaboo/implicitauto-2947/doc/Extensions/caldav-schedulingchanges-01.xml:2948-2989
/CalendarServer/branches/users/cdaboo/location-partial-accept-3573/doc/Extensions/caldav-schedulingchanges.xml:3574-3581
/CalendarServer/branches/users/sagen/resource-delegates-4038/doc/Extensions/caldav-schedulingchanges.xml:4040-4067
/CalendarServer/branches/users/sagen/resource-delegates-4066/doc/Extensions/caldav-schedulingchanges.xml:4068-4075
/CalendarServer/trunk/doc/Extensions/caldav-schedulingchanges.xml:4105-4107,4113-4116,4121-4124,4137-4139,4141-4144,4154-4159,4163-4167,4172,4174-4176,4178-4180,4191,4194,4197-4202,4209,4213,4222,4227,4231-4233,4237,4240

Modified: CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/config.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/config.py	2009-05-13 01:16:15 UTC (rev 4246)
+++ CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/config.py	2009-05-13 01:17:44 UTC (rev 4247)
@@ -73,7 +73,7 @@
     "twistedcaldav.directory.xmlfile.XMLDirectoryService": {
         "xmlFile": "/etc/caldavd/accounts.xml",
     },
-    "twistedcaldav.directory.cachingappleopendirectory.OpenDirectoryService": {
+    "twistedcaldav.directory.appleopendirectory.OpenDirectoryService": {
         "node": "/Search",
         "restrictEnabledRecords": False,
         "restrictToGroup": "",

Modified: CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/apache.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/apache.py	2009-05-13 01:16:15 UTC (rev 4246)
+++ CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/apache.py	2009-05-13 01:17:44 UTC (rev 4247)
@@ -38,19 +38,29 @@
     def __repr__(self):
         return "<%s %r: %r %r>" % (self.__class__.__name__, self.realmName, self.userFile, self.groupFile)
 
-    def __init__(self, realmName="", userFile=None, groupFile=None):
+    def __init__(self, params):
+        defaults = {
+            'realmName' : '',
+            'userFile' : None,
+            'groupFile' : None,
+        }
+        ignored = None
+        params = self.getParams(params, defaults, ignored)
+
         super(AbstractDirectoryService, self).__init__()
 
+        userFile = params["userFile"]
         if not userFile:
             raise DirectoryConfigurationError("Invalid Apache user file name: %r" % (userFile,))
 
         if userFile and type(userFile) is str:
             userFile = FilePath(userFile)
 
+        groupFile = params["groupFile"]
         if groupFile and type(groupFile) is str:
             groupFile = FilePath(groupFile)
 
-        self.realmName = realmName
+        self.realmName = params["realmName"]
         self.userFile = userFile
         self.groupFile = groupFile
 

Modified: CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/appleopendirectory.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/appleopendirectory.py	2009-05-13 01:16:15 UTC (rev 4246)
+++ CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/appleopendirectory.py	2009-05-13 01:17:44 UTC (rev 4247)
@@ -38,7 +38,7 @@
 from twisted.internet.threads import deferToThread
 from twisted.cred.credentials import UsernamePassword
 from twisted.web2.auth.digest import DigestedCredentials
-from twistedcaldav.config import config
+from twistedcaldav.config import config, ConfigurationError
 
 from twistedcaldav.directory.cachingdirectory import CachingDirectoryService,\
     CachingDirectoryRecord
@@ -55,38 +55,44 @@
     def __repr__(self):
         return "<%s %r: %r>" % (self.__class__.__name__, self.realmName, self.node)
 
-    def __init__(
-        self,
-        node="/Search",
-        restrictEnabledRecords=False,
-        restrictToGroup="",
-        dosetup=True,
-        cacheTimeout=30
-    ):
+
+    def __init__(self, params, dosetup=True):
         """
-        @param node: an OpenDirectory node name to bind to.
-        @param restrictEnabledRecords: C{True} if a group in the directory is to be used to determine
-            which calendar users are enabled.
-        @param restrictToGroup: C{str} guid or name of group used to restrict enabled users.
+        @param params: a dictionary containing the following keys:
+            node: an OpenDirectory node name to bind to.
+            restrictEnabledRecords: C{True} if a group in the
+              directory is to be used to determine which calendar
+              users are enabled.
+            restrictToGroup: C{str} guid or name of group used to
+              restrict enabled users.
+            cacheTimeout: C{int} number of minutes before cache is invalidated.
         @param dosetup: if C{True} then the directory records are initialized,
                         if C{False} they are not.
                         This should only be set to C{False} when doing unit tests.
-        @param cacheTimeout: C{int} number of minutes before cache is invalidated.
         """
 
-        super(OpenDirectoryService, self).__init__(cacheTimeout)
+        defaults = {
+            'node' : '/Search',
+            'restrictEnabledRecords' : False,
+            'restrictToGroup' : '',
+            'cacheTimeout' : 30,
+        }
+        ignored = ('requireComputerRecord',)
+        params = self.getParams(params, defaults, ignored)
 
+        super(OpenDirectoryService, self).__init__(params['cacheTimeout'])
+
         try:
-            directory = opendirectory.odInit(node)
+            directory = opendirectory.odInit(params['node'])
         except opendirectory.ODError, e:
-            self.log_error("Open Directory (node=%s) Initialization error: %s" % (node, e))
+            self.log_error("Open Directory (node=%s) Initialization error: %s" % (params['node'], e))
             raise
 
-        self.realmName = node
+        self.realmName = params['node']
         self.directory = directory
-        self.node = node
-        self.restrictEnabledRecords = restrictEnabledRecords
-        self.restrictToGroup = restrictToGroup
+        self.node = params['node']
+        self.restrictEnabledRecords = params['restrictEnabledRecords']
+        self.restrictToGroup = params['restrictToGroup']
         try:
             UUID(self.restrictToGroup)
         except:

Modified: CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/directory.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/directory.py	2009-05-13 01:16:15 UTC (rev 4246)
+++ CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/directory.py	2009-05-13 01:17:44 UTC (rev 4247)
@@ -250,6 +250,32 @@
     def getResourceInfo(self):
         return ()
 
+
+    def getParams(self, params, defaults, ignore=None):
+        """ Checks configuration parameters for unexpected/ignored keys, and
+            applies default values. """
+
+        keys = set(params.keys())
+
+        result = {}
+        for key in defaults.iterkeys():
+            if key in params:
+                result[key] = params[key]
+                keys.remove(key)
+            else:
+                result[key] = defaults[key]
+
+        if ignore:
+            for key in ignore:
+                if key in params:
+                    self.log_warn("Ignoring obsolete directory service parameter: %s" % (key,))
+                    keys.remove(key)
+
+        if keys:
+            raise DirectoryConfigurationError("Invalid directory service parameter(s): %s" % (", ".join(list(keys)),))
+        return result
+
+
 class DirectoryRecord(LoggingMixIn):
     implements(IDirectoryRecord)
 

Modified: CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_aggregate.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_aggregate.py	2009-05-13 01:16:15 UTC (rev 4246)
+++ CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_aggregate.py	2009-05-13 01:17:44 UTC (rev 4247)
@@ -65,10 +65,16 @@
         """
         Returns an IDirectoryService.
         """
-        apacheService = BasicDirectoryService(digestRealm, basicUserFile, groupFile)
+        apacheService = BasicDirectoryService(
+            {
+                'realmName' : digestRealm,
+                'userFile' : basicUserFile,
+                'groupFile' : groupFile,
+            }
+        )
         apacheService.recordTypePrefix = apache_prefix
 
-        xmlService = XMLDirectoryService(xmlFile)
+        xmlService = XMLDirectoryService({'xmlFile' : xmlFile})
         xmlService.recordTypePrefix = xml_prefix
 
         return AggregateDirectoryService((apacheService, xmlService))

Modified: CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_apache.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_apache.py	2009-05-13 01:16:15 UTC (rev 4246)
+++ CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_apache.py	2009-05-13 01:17:44 UTC (rev 4247)
@@ -61,7 +61,13 @@
     }
 
     def service(self):
-        return self.serviceClass(digestRealm, self.userFile(), self.groupFile())
+        return self.serviceClass(
+            {
+                'realmName' : digestRealm,
+                'userFile' : self.userFile(),
+                'groupFile' : self.groupFile(),
+            }
+        )
 
     userFileName = None
 
@@ -87,7 +93,7 @@
         """
         IDirectoryService.recordTypes(userFile)
         """
-        self.assertEquals(set(self.serviceClass(digestRealm, self.userFile()).recordTypes()), set((DirectoryService.recordType_users,)))
+        self.assertEquals(set(self.serviceClass({'realmName':digestRealm, 'userFile':self.userFile()}).recordTypes()), set((DirectoryService.recordType_users,)))
 
     userEntry = None
 

Modified: CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_calendar.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_calendar.py	2009-05-13 01:16:15 UTC (rev 4246)
+++ CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_calendar.py	2009-05-13 01:17:44 UTC (rev 4247)
@@ -40,7 +40,7 @@
         fd = open(self.xmlfile, "w")
         fd.write(open(xmlFile.path, "r").read())
         fd.close()
-        self.directoryService = XMLDirectoryService(self.xmlfile)
+        self.directoryService = XMLDirectoryService({'xmlFile' : self.xmlfile})
         
         # Set up a principals hierarchy for each service we're testing with
         name = "principals"

Modified: CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_guidchange.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_guidchange.py	2009-05-13 01:16:15 UTC (rev 4246)
+++ CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_guidchange.py	2009-05-13 01:17:44 UTC (rev 4247)
@@ -41,7 +41,7 @@
         fd = open(self.xmlfile, "w")
         fd.write(open(xmlFile.path, "r").read())
         fd.close()
-        self.directoryService = XMLDirectoryService(self.xmlfile)
+        self.directoryService = XMLDirectoryService({'xmlFile' : self.xmlfile})
         
         # Set up a principals hierarchy for each service we're testing with
         name = "principals"

Modified: CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_opendirectory.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_opendirectory.py	2009-05-13 01:16:15 UTC (rev 4246)
+++ CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_opendirectory.py	2009-05-13 01:17:44 UTC (rev 4247)
@@ -50,7 +50,7 @@
 
         def setUp(self):
             super(OpenDirectory, self).setUp()
-            self._service = OpenDirectoryService(node="/Search", dosetup=False)
+            self._service = OpenDirectoryService({'node' : "/Search"}, dosetup=False)
 
         def tearDown(self):
             for call in self._service._delayedCalls:

Modified: CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_opendirectoryschema.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_opendirectoryschema.py	2009-05-13 01:16:15 UTC (rev 4246)
+++ CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_opendirectoryschema.py	2009-05-13 01:17:44 UTC (rev 4247)
@@ -135,7 +135,7 @@
         )
 
         def test_plists(self):
-            service = OpenDirectoryService(node="/Search", dosetup=False)
+            service = OpenDirectoryService({'node' : "/Search"}, dosetup=False)
             
             for item in ODResourceInfoParse.test_bool:
                 if item[4] is None:

Modified: CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_principal.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_principal.py	2009-05-13 01:16:15 UTC (rev 4246)
+++ CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_principal.py	2009-05-13 01:17:44 UTC (rev 4247)
@@ -48,9 +48,25 @@
         super(ProvisionedPrincipals, self).setUp()
 
         self.directoryServices = (
-            BasicDirectoryService(digestRealm, basicUserFile, groupFile),
-            DigestDirectoryService(digestRealm, digestUserFile, groupFile),
-            XMLDirectoryService(xmlFile),
+            BasicDirectoryService(
+                {
+                    'realmName' : digestRealm,
+                    'userFile' : basicUserFile,
+                    'groupFile' : groupFile,
+                }
+            ),
+            DigestDirectoryService(
+                {
+                    'realmName' : digestRealm,
+                    'userFile' : digestUserFile,
+                    'groupFile' : groupFile,
+                }
+            ),
+            XMLDirectoryService(
+                {
+                    'xmlFile' : xmlFile,
+                }
+            ),
         )
 
         # Set up a principals hierarchy for each service we're testing with

Modified: CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_proxyprincipalmembers.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_proxyprincipalmembers.py	2009-05-13 01:16:15 UTC (rev 4246)
+++ CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_proxyprincipalmembers.py	2009-05-13 01:17:44 UTC (rev 4247)
@@ -36,7 +36,7 @@
     def setUp(self):
         super(ProxyPrincipals, self).setUp()
 
-        self.directoryService = XMLDirectoryService(xmlFile)
+        self.directoryService = XMLDirectoryService({'xmlFile' : xmlFile})
 
         # Set up a principals hierarchy for each service we're testing with
         self.principalRootResources = {}

Modified: CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_xmlfile.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_xmlfile.py	2009-05-13 01:16:15 UTC (rev 4246)
+++ CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/test/test_xmlfile.py	2009-05-13 01:17:44 UTC (rev 4247)
@@ -97,7 +97,7 @@
     Test XML file based directory implementation.
     """
     def service(self):
-        return XMLDirectoryService(self.xmlFile(), alwaysStat=True)
+        return XMLDirectoryService({'xmlFile' : self.xmlFile()}, alwaysStat=True)
 
     def test_changedXML(self):
         service = self.service()

Modified: CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/xmlfile.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/xmlfile.py	2009-05-13 01:16:15 UTC (rev 4246)
+++ CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/directory/xmlfile.py	2009-05-13 01:17:44 UTC (rev 4247)
@@ -45,9 +45,17 @@
     def __repr__(self):
         return "<%s %r: %r>" % (self.__class__.__name__, self.realmName, self.xmlFile)
 
-    def __init__(self, xmlFile, alwaysStat=False):
+    def __init__(self, params, alwaysStat=False):
+
+        defaults = {
+            'xmlFile' : None,
+        }
+        ignored = None
+        params = self.getParams(params, defaults, ignored)
+
         super(XMLDirectoryService, self).__init__()
 
+        xmlFile = params.get("xmlFile")
         if type(xmlFile) is str:
             xmlFile = FilePath(xmlFile)
 

Modified: CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/test/test_config.py
===================================================================
--- CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/test/test_config.py	2009-05-13 01:16:15 UTC (rev 4246)
+++ CalendarServer/branches/release/CalendarServer-2.2-dev/twistedcaldav/test/test_config.py	2009-05-13 01:17:44 UTC (rev 4247)
@@ -153,9 +153,9 @@
         self.assertEquals(config.DirectoryService.type, "twistedcaldav.directory.xmlfile.XMLDirectoryService")
         self.assertEquals(config.DirectoryService.params.xmlFile, "/etc/caldavd/accounts.xml")
 
-        config.update({"DirectoryService": {"type": "twistedcaldav.directory.cachingappleopendirectory.OpenDirectoryService"}})
+        config.update({"DirectoryService": {"type": "twistedcaldav.directory.appleopendirectory.OpenDirectoryService"}})
 
-        self.assertEquals(config.DirectoryService.type, "twistedcaldav.directory.cachingappleopendirectory.OpenDirectoryService")
+        self.assertEquals(config.DirectoryService.type, "twistedcaldav.directory.appleopendirectory.OpenDirectoryService")
         self.assertNotIn("xmlFile", config.DirectoryService.params)
         self.assertEquals(config.DirectoryService.params.node, "/Search")
         self.assertEquals(config.DirectoryService.params.restrictEnabledRecords, False)
@@ -164,13 +164,13 @@
         self.assertEquals(config.DirectoryService.type, "twistedcaldav.directory.xmlfile.XMLDirectoryService")
         self.assertEquals(config.DirectoryService.params.xmlFile, "/etc/caldavd/accounts.xml")
 
-        config.update({"DirectoryService": {"type": "twistedcaldav.directory.cachingappleopendirectory.OpenDirectoryService"}})
+        config.update({"DirectoryService": {"type": "twistedcaldav.directory.appleopendirectory.OpenDirectoryService"}})
         config.update({"DirectoryService": {"params": {
             "restrictEnabledRecords": True,
             "restrictToGroup": "12345",
         }}})
 
-        self.assertEquals(config.DirectoryService.type, "twistedcaldav.directory.cachingappleopendirectory.OpenDirectoryService")
+        self.assertEquals(config.DirectoryService.type, "twistedcaldav.directory.appleopendirectory.OpenDirectoryService")
         self.assertEquals(config.DirectoryService.params.node, "/Search")
         self.assertEquals(config.DirectoryService.params.restrictEnabledRecords, True)
         self.assertEquals(config.DirectoryService.params.restrictToGroup, "12345")
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20090512/f7848747/attachment-0001.html>


More information about the calendarserver-changes mailing list