[Twisted-web] reduce deferred stack in nevow
Andrea Arcangeli
andrea at cpushare.com
Wed Jan 19 18:36:40 MST 2005
This is mostly a cleanup since I doubt you can measure any improvement
unless you've tons of nested dirs to lookup. It's inefficient to use
.addCallback().addErrback when addCallbacks could be used instead.
Index: nevow/rend.py
===================================================================
--- nevow/rend.py (revision 1092)
+++ nevow/rend.py (working copy)
@@ -511,11 +511,9 @@
return static.Data('You posted a form to %s' % bindingName, 'text/plain'), ()
return util.maybeDeferred(
configurable.postForm, ctx, bindingName, args
- ).addCallback(
- self.onPostSuccess, request, ctx, bindingName, redirectAfterPost
- ).addErrback(
- self.onPostFailure, request, ctx, bindingName, redirectAfterPost
- )
+ ).addCallbacks(self.onPostSuccess, self.onPostFailure,
+ callbackArgs = (request, ctx, bindingName, redirectAfterPost),
+ errbackArgs = (request, ctx, bindingName, redirectAfterPost))
def onPostSuccess(self, result, request, ctx, bindingName, redirectAfterPost):
if result is None:
Index: nevow/appserver.py
===================================================================
--- nevow/appserver.py (revision 1092)
+++ nevow/appserver.py (working copy)
@@ -147,21 +147,16 @@
return self.site.getPageContextForRequestContext(
requestContext
- ).addErrback(
- processingFailed, self, requestContext
- ).addCallback(
- self.gotPageContext
- )
+ ).addCallbacks(self.gotPageContext, processingFailed,
+ errbackArgs = (self, requestContext))
def gotPageContext(self, pageContext):
if pageContext is not errorMarker:
return defer.maybeDeferred(
pageContext.tag.renderHTTP, pageContext
- ).addErrback(
- processingFailed, self, pageContext
- ).addCallback(
- self._cbFinishRender, pageContext
- )
+ ).addCallbacks(self._cbFinishRender, processingFailed,
+ callbackArgs = (pageContext, ),
+ errbackArgs = (self, pageContext))
def finish(self):
self.deferred.callback("")
@@ -291,11 +286,9 @@
return defer.maybeDeferred(
res.locateChild, ctx, path
- ).addErrback(
- processingFailed, request, ctx
- ).addCallback(
- self.handleSegment, request, path, ctx
- )
+ ).addCallbacks(self.handleSegment, processingFailed,
+ callbackArgs = (request, path, ctx),
+ errbackArgs = (request, ctx))
More information about the Twisted-web
mailing list