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

source_changes at macosforge.org source_changes at macosforge.org
Tue Mar 10 15:50:10 PDT 2009


Revision: 3808
          http://trac.macosforge.org/projects/calendarserver/changeset/3808
Author:   wsanchez at apple.com
Date:     2009-03-10 15:50:10 -0700 (Tue, 10 Mar 2009)
Log Message:
-----------
Rework updateCacheTokenOnCallback so that it's not setting up a no-op callback chain if the cacheNotifier attr isn't set.

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

Modified: CalendarServer/trunk/twistedcaldav/extensions.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/extensions.py	2009-03-10 22:23:08 UTC (rev 3807)
+++ CalendarServer/trunk/twistedcaldav/extensions.py	2009-03-10 22:50:10 UTC (rev 3808)
@@ -280,19 +280,23 @@
             returnValue(result)
 
 def updateCacheTokenOnCallback(f):
-    def fun(self, *args, **kwargs):
-        def _updateToken(response):
-            return self.cacheNotifier.changed().addCallback(
-                lambda _: response)
+    def wrapper(self, *args, **kwargs):
+        if hasattr(self, "cacheNotifier"):
+            def updateToken(response):
+                d = self.cacheNotifier.changed()
+                d.addCallback(lambda _: response)
+                return d
 
-        d = maybeDeferred(f, self, *args, **kwargs)
+            d = maybeDeferred(f, self, *args, **kwargs)
 
-        if hasattr(self, 'cacheNotifier'):
-            d.addCallback(_updateToken)
+            if hasattr(self, "cacheNotifier"):
+                d.addCallback(updateToken)
 
-        return d
+            return d
+        else:
+            return f(self, *args, **kwargs)
 
-    return fun
+    return wrapper
 
 
 class DirectoryPrincipalPropertySearchMixIn(object):
@@ -467,9 +471,7 @@
     """
 
     def renderHTTP(self, request):
-        
         log.error("%s %s %s" % (request.method, urllib.unquote(request.uri), "HTTP/%s.%s" % request.clientproto))
-
         return super(DAVResource, self).renderHTTP(request)
 
     @updateCacheTokenOnCallback
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20090310/4586ed9a/attachment.html>


More information about the calendarserver-changes mailing list