[Twisted-Python] Passing additional arguments to errback

Laurens Van Houtven _ at lvh.io
Thu Sep 5 06:37:37 MDT 2013


On Thu, Sep 5, 2013 at 12:00 PM, Maciej Wasilak <wasilak at gmail.com> wrote:

> Laurens,
>
>
>>  You don't have to do it from in there. You can do
>> .addErrback(handleErrors, request), since it's all the same request object,
>> right?
>>
>
> Aaargh! I see the problem now. I wrote everything as part of the Protocol
> class (D&D - Deferreds&Dictionaries), when I should have extracted request
> functionality into separate class. Then I can save request body as a class
> member between callback and errback. Thanks!!!
>

Well, yes, you should, but still keep in mind that you can actually just
pass the request like so:

.addErrback(handleErrors, request)

You don't really have to save the request itself anywhere as an attribute.


>>
>>  1. It seems self.endpoint is a t.w.s.Site object. That's kind of
>> confusing, since twisted has an "endpoint" concept that's one step removed
>> from a Site (endpoints connect or listen with factories, a Site is a
>> factory). You might want to reconsider that name :)
>>
>
> Endpoint is the official name in draft:
> http://tools.ietf.org/html/draft-ietf-core-coap-18  I'll rename it to
> coap_endpoint to avoid confusion
>
>
>> 2. It's kind of strange to start with defer.succeed() and then start
>> making a callback chain IMHO, but it's not wrong, really.
>>
>
> I've recently understood callback chaining and I really like the idea. I
> guess it's this old proverb about having a hammer, and seeing nails
> everywhere. I'll try to come up with something better :) .
>

No problem.


>  Case closed - thank you very much!
>

Glad to have helped.


> Regards
> Maciek
>

cheers
lvh
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://twistedmatrix.com/pipermail/twisted-python/attachments/20130905/1f9e3989/attachment.html>


More information about the Twisted-Python mailing list