[CalendarServer-changes] [866] CalendarServer/branches/users/cdaboo/cuproxy-857/twistedcaldav

source_changes at macosforge.org source_changes at macosforge.org
Wed Dec 20 10:54:58 PST 2006


Revision: 866
          http://trac.macosforge.org/projects/calendarserver/changeset/866
Author:   cdaboo at apple.com
Date:     2006-12-20 10:54:57 -0800 (Wed, 20 Dec 2006)

Log Message:
-----------
Provision the proxy principal collections below each primary principal.

Modified Paths:
--------------
    CalendarServer/branches/users/cdaboo/cuproxy-857/twistedcaldav/customxml.py
    CalendarServer/branches/users/cdaboo/cuproxy-857/twistedcaldav/directory/principal.py

Modified: CalendarServer/branches/users/cdaboo/cuproxy-857/twistedcaldav/customxml.py
===================================================================
--- CalendarServer/branches/users/cdaboo/cuproxy-857/twistedcaldav/customxml.py	2006-12-20 18:54:40 UTC (rev 865)
+++ CalendarServer/branches/users/cdaboo/cuproxy-857/twistedcaldav/customxml.py	2006-12-20 18:54:57 UTC (rev 866)
@@ -52,6 +52,22 @@
     def getValue(self):
         return str(self)
 
+class CalendarProxyRead (davxml.WebDAVEmptyElement):
+    """
+    A read-only calendar user proxy principal resource.
+    (Apple Extension to CalDAV)
+    """
+    namespace = calendarserver_namespace
+    name = "calendar-proxy-read"
+
+class CalendarProxyWrite (davxml.WebDAVEmptyElement):
+    """
+    A read-write calendar user proxy principal resource.
+    (Apple Extension to CalDAV)
+    """
+    namespace = calendarserver_namespace
+    name = "calendar-proxy-write"
+
 class TwistedCalendarPrincipalURI(davxml.WebDAVTextElement):
     """
     Contains the calendarPrincipalURI value for a directory record corresponding to a principal.
@@ -183,3 +199,5 @@
 davxml.ResourceType.dropboxhome = davxml.ResourceType(davxml.Collection(), DropBoxHome())
 davxml.ResourceType.dropbox = davxml.ResourceType(davxml.Collection(), DropBox())
 davxml.ResourceType.notifications = davxml.ResourceType(davxml.Collection(), Notifications())
+davxml.ResourceType.calendarproxyread = davxml.ResourceType(davxml.Principal(), davxml.Collection(), CalendarProxyRead())
+davxml.ResourceType.calendarproxywrite = davxml.ResourceType(davxml.Principal(), davxml.Collection(), CalendarProxyWrite())

Modified: CalendarServer/branches/users/cdaboo/cuproxy-857/twistedcaldav/directory/principal.py
===================================================================
--- CalendarServer/branches/users/cdaboo/cuproxy-857/twistedcaldav/directory/principal.py	2006-12-20 18:54:40 UTC (rev 865)
+++ CalendarServer/branches/users/cdaboo/cuproxy-857/twistedcaldav/directory/principal.py	2006-12-20 18:54:57 UTC (rev 866)
@@ -37,6 +37,8 @@
 from twisted.web2.dav import davxml
 from twisted.web2.dav.util import joinURL
 
+from twistedcaldav.config import config
+from twistedcaldav.calendaruserproxy import CalendarUserProxyPrincipalResource
 from twistedcaldav.extensions import ReadOnlyResourceMixIn, DAVFile
 from twistedcaldav.resource import CalendarPrincipalCollectionResource, CalendarPrincipalResource
 from twistedcaldav.static import AutoProvisioningFileMixIn
@@ -426,6 +428,29 @@
         else:
             return None
 
+    ##
+    # Static
+    ##
+
+    def createSimilarFile(self, path):
+        log.err("Attempt to create clone %r of resource %r" % (path, self))
+        raise HTTPError(responsecode.NOT_FOUND)
+
+    def getChild(self, name, record=None):
+        if name == "":
+            return self
+
+        if config.CalendarUserProxyEnabled and name in ("calendar-proxy-read", "calendar-proxy-write"):
+            return CalendarUserProxyPrincipalResource(self.fp.child(name).path, self, name)
+        else:
+            return None
+
+    def listChildren(self):
+        if config.CalendarUserProxyEnabled:
+            return ("calendar-proxy-read", "calendar-proxy-write")
+        else:
+            return ()
+
 ##
 # Utilities
 ##

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20061220/af8c93d1/attachment.html


More information about the calendarserver-changes mailing list