[CalendarServer-changes] [330]
CalendarServer/trunk/lib-patches/Twisted/twisted.web2.server.patch
source_changes at macosforge.org
source_changes at macosforge.org
Fri Oct 27 16:44:13 PDT 2006
Revision: 330
http://trac.macosforge.org/projects/calendarserver/changeset/330
Author: wsanchez at apple.com
Date: 2006-10-27 16:44:13 -0700 (Fri, 27 Oct 2006)
Log Message:
-----------
Add _rememberResource() method, rather than implementing the same caching logic in three places.
Modified Paths:
--------------
CalendarServer/trunk/lib-patches/Twisted/twisted.web2.server.patch
Modified: CalendarServer/trunk/lib-patches/Twisted/twisted.web2.server.patch
===================================================================
--- CalendarServer/trunk/lib-patches/Twisted/twisted.web2.server.patch 2006-10-27 23:36:26 UTC (rev 329)
+++ CalendarServer/trunk/lib-patches/Twisted/twisted.web2.server.patch 2006-10-27 23:44:13 UTC (rev 330)
@@ -47,23 +47,15 @@
def unparseURL(self, scheme=None, host=None, port=None,
path=None, params=None, querystring=None, fragment=None):
-@@ -263,8 +280,15 @@
- failedDeferred = self._processingFailed(failure.Failure())
- return
+@@ -265,6 +282,7 @@
-+ def _registerResource(child):
-+ url = "/" + "/".join(self.prepath)
-+ self._resourcesByURL[child] = url
-+ self._urlsByResource[url] = child
-+ return child
-+
d = defer.Deferred()
d.addCallback(self._getChild, self.site.resource, self.postpath)
-+ d.addCallback(_registerResource)
++ d.addCallback(self._rememberResource, "/" + "/".join(self.prepath))
d.addCallback(lambda res, req: res.renderHTTP(req), self)
d.addCallback(self._cbFinishRender)
d.addErrback(self._processingFailed)
-@@ -320,8 +344,6 @@
+@@ -320,8 +338,6 @@
url = "/" + "/".join(path)
else:
url = "/"
@@ -72,7 +64,7 @@
return res
#else:
# raise ValueError("locateChild must not return StopTraversal with a resource other than self.")
-@@ -342,12 +364,9 @@
+@@ -342,17 +358,16 @@
self.prepath.append(self.postpath.pop(0))
child = self._getChild(None, newres, newpath, updatepaths=updatepaths)
@@ -82,11 +74,20 @@
- _resourcesByURL = weakref.WeakKeyDictionary()
-
- def _rememberURLForResource(self, url, resource):
+- def _rememberURLForResource(self, url, resource):
++ def _rememberResource(self, resource, url):
"""
- Remember the URL of visited resources.
-@@ -367,10 +386,7 @@
+- Remember the URL of visited resources.
++ Remember the URL of a visited resources.
+ """
+ self._resourcesByURL[resource] = url
++ self._urlsByResource[url] = resource
++ return resource
+ def urlForResource(self, resource):
+ """
+@@ -367,10 +382,7 @@
+
@return: the URL of C{resource} if known, otherwise C{None}.
"""
- try:
@@ -97,7 +98,7 @@
def locateResource(self, url):
"""
-@@ -385,8 +401,13 @@
+@@ -385,8 +397,13 @@
The contained response will have a status code of
L{responsecode.BAD_REQUEST}.
"""
@@ -112,7 +113,7 @@
#
# Parse the URL
#
-@@ -414,11 +435,56 @@
+@@ -414,11 +431,48 @@
def notFound(f):
f.trap(http.HTTPError)
if f.response.code != responsecode.NOT_FOUND:
@@ -121,13 +122,9 @@
return None
- return defer.maybeDeferred(self._getChild, None, self.site.resource, segments, updatepaths=False)
-+ def _registerResource(child):
-+ self._resourcesByURL[child] = path
-+ self._urlsByResource[path] = child
-+ return child
-+
+ d = defer.maybeDeferred(self._getChild, None, self.site.resource, segments, updatepaths=False)
-+ d.addCallback(_registerResource)
++ d.addCallback(self._rememberResource, path)
++ d.addErrback(notFound)
+ return d
+ def locateChildResource(self, res, childpath):
@@ -159,13 +156,9 @@
+ return f
+ return None
+
-+ def _registerResource(child):
-+ self._resourcesByURL[child] = url
-+ self._urlsByResource[url] = child
-+ return child
-+
+ d = defer.maybeDeferred(self._getChild, None, res, [segment], updatepaths=False)
-+ d.addCallback(_registerResource)
++ d.addCallback(self._rememberResource, url)
++ d.addErrback(notFound)
+ return d
+
def _processingFailed(self, reason):
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20061027/3e2632a9/attachment.html
More information about the calendarserver-changes
mailing list