[Twisted-Python] Twisted for Python 3

Antoine Pitrou solipsis at pitrou.net
Wed Oct 19 11:22:19 MDT 2011


On Wed, 19 Oct 2011 13:10:22 -0400
"Itamar Turner-Trauring" <itamar at itamarst.org> wrote:
> > For example, I could post the
> > following patch for t.p.failure, but would you accept it?
> >
> > @@ -464,6 +468,14 @@ class Failure:
> >          # added 2003-06-23. See comment above in __init__
> >          c['tb'] = None
> >
> > +        try:
> > +            # Clear other references held by exception objects
> > +            c['value'].__cause__ = None
> > +            c['value'].__context__ = None
> > +            c['value'].__traceback__ = None
> > +        except AttributeError:
> > +            pass
> > +
> >          if self.stack is not None:
> >              # XXX: This is a band-aid.  I can't figure out where these
> >              # (failure.stack is None) instances are coming from.
> 
> That sort of patch would probably be fine, though I'd much rather that be
> inside an if statement that checked the Python version rather than inside
> a try/except. Faster, and much clearer what's going on.

The try/except is necessary because Failures sometimes wrap something
else than an exception, and where setting an arbitrary attribute is not
allowed.

Regards

Antoine.






More information about the Twisted-Python mailing list