[Twisted-Python] Deferred instance has no attribute '__getitem__' ??????

Allen Short washort at twistedmatrix.com
Thu Jul 15 14:58:10 MDT 2010


>     @defer.inlineCallbacks
>     def round_val(id, value, rule):
>         """
>         Return first element of round_value_and_percent
>         """
>         defer.returnValue(round_value_and_percent(id, value, 0, rule)[0])

> When I do:
> result = yield round_val(1, 2, 3)
>
> I get this: Deferred instance has no attribute '__getitem__'
>

round_value_and_percent returns a Deferred. You probably want:

     @defer.inlineCallbacks
     def round_val(id, value, rule):
         """
         Return first element of round_value_and_percent
         """
        x = yield round_value_and_percent(id, value, 0, rule)
         defer.returnValue(x[0])




More information about the Twisted-Python mailing list