[CalendarServer-changes] [375] CalendarServer/trunk/twistedcaldav/extensions.py

source_changes at macosforge.org source_changes at macosforge.org
Mon Nov 6 19:06:21 PST 2006


Revision: 375
          http://trac.macosforge.org/projects/calendarserver/changeset/375
Author:   wsanchez at apple.com
Date:     2006-11-06 19:06:20 -0800 (Mon, 06 Nov 2006)

Log Message:
-----------
Add ReadOnlyResourceMixIn.

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

Modified: CalendarServer/trunk/twistedcaldav/extensions.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/extensions.py	2006-11-04 03:50:25 UTC (rev 374)
+++ CalendarServer/trunk/twistedcaldav/extensions.py	2006-11-07 03:06:20 UTC (rev 375)
@@ -23,8 +23,12 @@
 __all__ = [
     "DAVResource",
     "DAVFile",
+    "ReadOnlyResourceMixIn",
 ]
 
+from twisted.web2 import responsecode
+from twisted.web2.dav.http import StatusResponse
+
 import twisted.web2.dav.resource
 import twisted.web2.dav.static
 
@@ -37,3 +41,23 @@
     """
     Extended L{twisted.web2.dav.static.DAVFile} implementation.
     """
+
+class ReadOnlyResourceMixIn (object):
+    """
+    Read only resource.
+    """
+    readOnlyResponse = StatusResponse(
+        responsecode.FORBIDDEN,
+        "Resource is read only."
+    )
+
+    def _forbidden(self, request):
+        return readOnlyResponse
+
+    http_DELETE    = _forbidden
+    http_MOVE      = _forbidden
+    http_PROPPATCH = _forbidden
+    http_PUT       = _forbidden
+
+    def writeProperty(self, property, request):
+        raise HTTPError(readOnlyResponse)

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


More information about the calendarserver-changes mailing list