[CalendarServer-changes] [317] CalendarServer/trunk/twistedcaldav/method/delete.py

source_changes at macosforge.org source_changes at macosforge.org
Thu Oct 26 17:57:30 PDT 2006


Revision: 317
          http://trac.macosforge.org/projects/calendarserver/changeset/317
Author:   wsanchez at apple.com
Date:     2006-10-26 17:57:30 -0700 (Thu, 26 Oct 2006)

Log Message:
-----------
Account for deferred from locateParent()

Modified Paths:
--------------
    CalendarServer/trunk/twistedcaldav/method/delete.py

Modified: CalendarServer/trunk/twistedcaldav/method/delete.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/method/delete.py	2006-10-27 00:09:08 UTC (rev 316)
+++ CalendarServer/trunk/twistedcaldav/method/delete.py	2006-10-27 00:57:30 UTC (rev 317)
@@ -29,22 +29,28 @@
 from twistedcaldav.resource import isPseudoCalendarCollectionResource
 
 def http_DELETE(self, request):
+    #
     # Override base DELETE request handling to ensure that the calendar
     # index file has the entry for the deleted calendar component removed.
-
-    # Do inherited default behaviour
-    d = maybeDeferred(super(CalDAVFile, self).http_DELETE, request)
-    
+    #
     def deleteFromIndex(response):
         response = IResponse(response)
 
         if response.code == responsecode.NO_CONTENT:
+            def deleteFromParent(parent):
+                if isPseudoCalendarCollectionResource(parent):
+                    index = parent.index()
+                    index.deleteResource(self.fp.basename())
+
+                return response
+            
             # Remove index entry if we are a child of a calendar collection
-            parent = self.locateParent(request, request.uri)
-            if isPseudoCalendarCollectionResource(parent):
-                index = parent.index()
-                index.deleteResource(self.fp.basename())
+            d = self.locateParent(request, request.uri)
+            d.addCallback(deleteFromParent)
+            return d
 
         return response
-        
-    return d.addCallback(deleteFromIndex)
+
+    d = maybeDeferred(super(CalDAVFile, self).http_DELETE, request)
+    d.addCallback(deleteFromIndex)
+    return d

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


More information about the calendarserver-changes mailing list