[CalendarServer-changes] [2492] CalendarServer/trunk/twistedcaldav

source_changes at macosforge.org source_changes at macosforge.org
Sat May 24 20:34:45 PDT 2008


Revision: 2492
          http://trac.macosforge.org/projects/calendarserver/changeset/2492
Author:   wsanchez at apple.com
Date:     2008-05-24 20:34:43 -0700 (Sat, 24 May 2008)

Log Message:
-----------
Ixnay on the eferredGeneratorsday

Modified Paths:
--------------
    CalendarServer/trunk/twistedcaldav/method/get.py
    CalendarServer/trunk/twistedcaldav/test/test_mkcalendar.py
    CalendarServer/trunk/twistedcaldav/timezoneservice.py

Modified: CalendarServer/trunk/twistedcaldav/method/get.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/method/get.py	2008-05-25 03:02:36 UTC (rev 2491)
+++ CalendarServer/trunk/twistedcaldav/method/get.py	2008-05-25 03:34:43 UTC (rev 2492)
@@ -20,7 +20,7 @@
 
 __all__ = ["http_GET"]
 
-from twisted.internet.defer import deferredGenerator, waitForDeferred
+from twisted.internet.defer import inlineCallbacks, returnValue
 from twisted.web2.dav import davxml
 from twisted.web2.http import HTTPError
 from twisted.web2.http import Response
@@ -31,6 +31,7 @@
 from twistedcaldav.customxml import TwistedCalendarAccessProperty
 from twistedcaldav.ical import Component
 
+ at inlineCallbacks
 def http_GET(self, request):
 
     # Look for calendar access restriction on existing resource.
@@ -43,17 +44,12 @@
         if access in (Component.ACCESS_CONFIDENTIAL, Component.ACCESS_RESTRICTED):
     
             # Check authorization first
-            d = waitForDeferred(self.authorize(request, (davxml.Read(),)))
-            yield d
-            d.getResult()
+            yield self.authorize(request, (davxml.Read(),))
 
             # Non DAV:owner's have limited access to the data
-            d = waitForDeferred(self.isOwner(request))
-            yield d
-            isowner = d.getResult()
+            isowner = yield self.isOwner(request)
             
             if not isowner:
-
                 # Now "filter" the resource calendar data through the CALDAV:calendar-data element and apply
                 # access restrictions to the data.
                 caldata = caldavxml.CalendarData().elementFromResourceWithAccessRestrictions(self, access).calendarData()
@@ -61,12 +57,8 @@
                 response = Response()
                 response.stream = MemoryStream(caldata)
                 response.headers.setHeader("content-type", MimeType.fromString("text/calendar; charset=utf-8"))
-                yield response
-                return
+                returnValue(response)
 
     # Do normal GET behavior
-    d = waitForDeferred(super(CalDAVFile, self).http_GET(request))
-    yield d
-    yield d.getResult()
-
-http_GET = deferredGenerator(http_GET)
+    response = yield super(CalDAVFile, self).http_GET(request)
+    returnValue(response)

Modified: CalendarServer/trunk/twistedcaldav/test/test_mkcalendar.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/test/test_mkcalendar.py	2008-05-25 03:02:36 UTC (rev 2491)
+++ CalendarServer/trunk/twistedcaldav/test/test_mkcalendar.py	2008-05-25 03:34:43 UTC (rev 2492)
@@ -13,8 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 ##
-from twisted.internet.defer import waitForDeferred
-from twisted.internet.defer import deferredGenerator
+from twisted.internet.defer import inlineCallbacks, returnValue
 from twistedcaldav import index
 
 import os
@@ -78,6 +77,7 @@
         if os.path.exists(path):
             rmdir(path)
 
+        @inlineCallbacks
         def do_test(response):
             response = IResponse(response)
 
@@ -92,17 +92,13 @@
                 (davxml.DisplayName.qname(), "Lisa's Events"),
                 (caldavxml.CalendarDescription.qname(), "Calendar restricted to events."),
             ):
-                stored = waitForDeferred(resource.readProperty(qname, None))
-                yield stored
-                stored = stored.getResult()
+                stored = yield resource.readProperty(qname, None)
                 stored = str(stored)
                 if stored != value:
                     self.fail("MKCALENDAR failed to set property %s: %s != %s"
                               % (qname, stored, value))
 
-            supported_components = waitForDeferred(resource.readProperty(caldavxml.SupportedCalendarComponentSet, None))
-            yield supported_components
-            supported_components = supported_components.getResult()
+            supported_components = yield resource.readProperty(caldavxml.SupportedCalendarComponentSet, None)
             supported_components = supported_components.children
             if len(supported_components) != 1:
                 self.fail("MKCALENDAR failed to set property %s: len(%s) != 1"
@@ -112,15 +108,11 @@
                           % (caldavxml.SupportedCalendarComponentSet.qname(),
                              supported_components[0].toxml(), caldavxml.CalendarComponent(name="VEVENT").toxml()))
 
-            tz = waitForDeferred(resource.readProperty(caldavxml.CalendarTimeZone, None))
-            yield tz
-            tz = tz.getResult()
+            tz = yield resource.readProperty(caldavxml.CalendarTimeZone, None)
             tz = tz.calendar()
             self.failUnless(tz.resourceType() == "VTIMEZONE")
             self.failUnless(tuple(tz.subcomponents())[0].propertyValue("TZID") == "US-Eastern")
         
-        do_test = deferredGenerator(do_test)
-
         mk = caldavxml.MakeCalendar(
             davxml.Set(
                 davxml.PropertyContainer(

Modified: CalendarServer/trunk/twistedcaldav/timezoneservice.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/timezoneservice.py	2008-05-25 03:02:36 UTC (rev 2491)
+++ CalendarServer/trunk/twistedcaldav/timezoneservice.py	2008-05-25 03:34:43 UTC (rev 2492)
@@ -23,7 +23,7 @@
     "TimezoneServiceResource",
 ]
 
-from twisted.internet.defer import deferredGenerator, waitForDeferred
+from twisted.internet.defer import inlineCallbacks, returnValue
 from twisted.web2 import responsecode
 from twisted.web2.dav import davxml
 from twisted.web2.dav.http import ErrorResponse
@@ -105,21 +105,19 @@
         # GET and POST do the same thing
         return self.http_POST(request)
 
-    @deferredGenerator
+    @inlineCallbacks
     def http_POST(self, request):
         """
         The timezone service POST method.
         """
 
         # Check authentication and access controls
-        x = waitForDeferred(self.authorize(request, (davxml.Read(),)))
-        yield x
-        x.getResult()
+        yield self.authorize(request, (davxml.Read(),))
         
         if not request.args:
             # Do normal GET behavior
-            yield self.render(request)
-            return
+            response = yield self.render(request)
+            returnValue(response)
 
         method = request.args.get("method", ("",))
         if len(method) != 1:
@@ -135,7 +133,7 @@
         if action is None:
             raise HTTPError(ErrorResponse(responsecode.BAD_REQUEST, (calendarserver_namespace, "supported-method")))
 
-        yield action(request)
+        returnValue(action(request))
 
     def doPOSTList(self, request):
         """

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20080524/397d741d/attachment-0001.htm 


More information about the calendarserver-changes mailing list