[CalendarServer-changes] [2010] CalendarServer/trunk/twistedcaldav
source_changes at macosforge.org
source_changes at macosforge.org
Wed Nov 14 20:15:12 PST 2007
Revision: 2010
http://trac.macosforge.org/projects/calendarserver/changeset/2010
Author: cdaboo at apple.com
Date: 2007-11-14 20:15:10 -0800 (Wed, 14 Nov 2007)
Log Message:
-----------
Make sure calendar-proxy is only advertised when enabled.
Modified Paths:
--------------
CalendarServer/trunk/twistedcaldav/caldavxml.py
CalendarServer/trunk/twistedcaldav/customxml.py
CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py
CalendarServer/trunk/twistedcaldav/resource.py
CalendarServer/trunk/twistedcaldav/test/test_config.py
Modified: CalendarServer/trunk/twistedcaldav/caldavxml.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/caldavxml.py 2007-11-14 22:22:23 UTC (rev 2009)
+++ CalendarServer/trunk/twistedcaldav/caldavxml.py 2007-11-15 04:15:10 UTC (rev 2010)
@@ -46,6 +46,13 @@
caldav_namespace = "urn:ietf:params:xml:ns:caldav"
+caldav_compliance = (
+ "calendar-access",
+ "calendar-schedule",
+ "calendar-availability",
+ "inbox-availability",
+)
+
class CalDAVElement (davxml.WebDAVElement):
"""
CalDAV XML element.
Modified: CalendarServer/trunk/twistedcaldav/customxml.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/customxml.py 2007-11-14 22:22:23 UTC (rev 2009)
+++ CalendarServer/trunk/twistedcaldav/customxml.py 2007-11-15 04:15:10 UTC (rev 2010)
@@ -32,6 +32,10 @@
calendarserver_namespace = "http://calendarserver.org/ns/"
+calendarserver_proxy_compliance = (
+ "calendar-proxy",
+)
+
class TwistedGUIDProperty (davxml.WebDAVTextElement):
"""
Contains the GUID value for a directory record corresponding to a principal.
Modified: CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py 2007-11-14 22:22:23 UTC (rev 2009)
+++ CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py 2007-11-15 04:15:10 UTC (rev 2010)
@@ -35,6 +35,8 @@
from twisted.web2.dav.util import joinURL
from twisted.web2.http import HTTPError, StatusResponse
+from twistedcaldav import caldavxml
+from twistedcaldav import customxml
from twistedcaldav.config import config
from twistedcaldav.extensions import DAVFile, DAVPrincipalResource
from twistedcaldav.extensions import ReadOnlyWritePropertiesResourceMixIn
@@ -80,12 +82,10 @@
"""
def davComplianceClasses(self):
- return tuple(super(CalendarUserProxyPrincipalResource, self).davComplianceClasses()) + (
- "calendar-access",
- "calendar-schedule",
- "calendar-availability",
- "calendar-proxy",
- )
+ extra_compliance = caldavxml.caldav_compliance
+ if config.EnableProxyPrincipals:
+ extra_compliance += customxml.calendarserver_proxy_compliance
+ return tuple(super(CalendarUserProxyPrincipalResource, self).davComplianceClasses()) + extra_compliance
def __init__(self, path, parent, proxyType):
"""
Modified: CalendarServer/trunk/twistedcaldav/resource.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/resource.py 2007-11-14 22:22:23 UTC (rev 2009)
+++ CalendarServer/trunk/twistedcaldav/resource.py 2007-11-15 04:15:10 UTC (rev 2010)
@@ -125,13 +125,10 @@
##
def davComplianceClasses(self):
- return tuple(super(CalDAVResource, self).davComplianceClasses()) + (
- "calendar-access",
- "calendar-schedule",
- "calendar-availability",
- "inbox-availability",
- "calendar-proxy",
- )
+ extra_compliance = caldavxml.caldav_compliance
+ if config.EnableProxyPrincipals:
+ extra_compliance += customxml.calendarserver_proxy_compliance
+ return tuple(super(CalDAVResource, self).davComplianceClasses()) + extra_compliance
liveProperties = DAVResource.liveProperties + (
(caldav_namespace, "supported-calendar-component-set"),
@@ -490,13 +487,10 @@
implements(ICalendarPrincipalResource)
def davComplianceClasses(self):
- return tuple(super(CalendarPrincipalResource, self).davComplianceClasses()) + (
- "calendar-access",
- "calendar-schedule",
- "calendar-availability",
- "inbox-availability",
- "calendar-proxy",
- )
+ extra_compliance = caldavxml.caldav_compliance
+ if config.EnableProxyPrincipals:
+ extra_compliance += customxml.calendarserver_proxy_compliance
+ return tuple(super(CalDAVResource, self).davComplianceClasses()) + extra_compliance
liveProperties = tuple(DAVPrincipalResource.liveProperties) + (
(caldav_namespace, "calendar-home-set" ),
Modified: CalendarServer/trunk/twistedcaldav/test/test_config.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/test/test_config.py 2007-11-14 22:22:23 UTC (rev 2009)
+++ CalendarServer/trunk/twistedcaldav/test/test_config.py 2007-11-15 04:15:10 UTC (rev 2010)
@@ -21,6 +21,7 @@
from twistedcaldav.py.plistlib import writePlist
from twistedcaldav.config import config, defaultConfig, ConfigurationError
+from twistedcaldav.static import CalDAVFile
testConfig = """<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
@@ -213,3 +214,14 @@
config.updateDefaults({'Foo': 'bar'})
self.assertNotIn('Foo', defaultConfig)
+
+ def testComplianceClasses(self):
+
+ resource = CalDAVFile("/")
+
+ config.EnableProxyPrincipals = True
+ self.assertTrue("calendar-proxy" in resource.davComplianceClasses())
+
+ config.EnableProxyPrincipals = False
+ self.assertTrue("calendar-proxy" not in resource.davComplianceClasses())
+
\ No newline at end of file
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20071114/969e1d5e/attachment-0001.html
More information about the calendarserver-changes
mailing list