[CalendarServer-changes] [5322] CalendarServer/trunk/twistedcaldav/stdconfig.py

source_changes at macosforge.org source_changes at macosforge.org
Tue Mar 16 14:25:03 PDT 2010


Revision: 5322
          http://trac.macosforge.org/projects/calendarserver/changeset/5322
Author:   wsanchez at apple.com
Date:     2010-03-16 14:25:01 -0700 (Tue, 16 Mar 2010)
Log Message:
-----------
Add managed config.CalDAVComplianceClasses

Modified Paths:
--------------
    CalendarServer/trunk/twistedcaldav/stdconfig.py

Modified: CalendarServer/trunk/twistedcaldav/stdconfig.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/stdconfig.py	2010-03-16 20:53:19 UTC (rev 5321)
+++ CalendarServer/trunk/twistedcaldav/stdconfig.py	2010-03-16 21:25:01 UTC (rev 5322)
@@ -26,6 +26,7 @@
 from twext.python.log import Logger, InvalidLogLevelError
 from twext.python.log import clearLogLevels, setLogLevelForNamespace
 
+from twistedcaldav import caldavxml, customxml, carddavxml
 from twistedcaldav.config import ConfigProvider, ConfigurationError
 from twistedcaldav.config import config, _mergeData, fullServerPath
 from twistedcaldav.partitions import partitions
@@ -810,10 +811,6 @@
         raise ConfigurationError("Invalid log level: %s" % (e.level))
 
 def _updateNotifications(configDict):
-    #
-    # Notifications
-    #
-
     # Reloading not supported -- requires process running as root
     if getattr(configDict, "_reloading", False):
         return
@@ -897,10 +894,6 @@
                         (direction,))
 
 def _updatePartitions(configDict):
-    #
-    # Partitions
-    #
-
     if configDict.Partitioning.Enabled:
         partitions.setSelfPartition(configDict.Partitioning.ServerPartitionID)
         partitions.setMaxClients(configDict.Partitioning.MaxClients)
@@ -909,6 +902,26 @@
     else:
         partitions.clear()
 
+def _updateCompliance(configDict):
+        if configDict.Scheduling.CalDAV.OldDraftCompatibility:
+            compliance = caldavxml.caldav_full_compliance
+        else:
+            compliance = caldavxml.caldav_implicit_compliance
+
+        if configDict.EnableProxyPrincipals:
+            compliance += customxml.calendarserver_proxy_compliance
+        if configDict.EnablePrivateEvents:
+            compliance += customxml.calendarserver_private_events_compliance
+        if configDict.Scheduling.CalDAV.get("EnablePrivateComments", True):
+            compliance += customxml.calendarserver_private_comments_compliance
+        if configDict.EnableCardDAV:
+            compliance += carddavxml.carddav_compliance
+
+        compliance += customxml.calendarserver_principal_property_search
+
+        configDict.CalDAVComplianceClasses = compliance
+
+
 PRE_UPDATE_HOOKS = (
     _preUpdateDirectoryService,
     _preUpdateDirectoryAddressBookBackingDirectoryService,
@@ -926,6 +939,7 @@
     _updateNotifications,
     _updateScheduling,
     _updatePartitions,
+    _updateCompliance,
     )
     
 def _cleanup(configDict, defaultDict):
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100316/415b623a/attachment-0001.html>


More information about the calendarserver-changes mailing list