Re: [Twisted-Python] Exception's Implicit Public API, and Python 3

2015-09-07 Thread Glyph
> On Sep 7, 2015, at 10:55 PM, Adi Roiban wrote: > >> It's Python's API which has changed here, so I don't think that it's >> Twisted's responsibility to replicate this behavior. Subclassing is bad, >> and Python's changes of public attributes to such a core language-feature >> level class as E

Re: [Twisted-Python] Exception's Implicit Public API, and Python 3

2015-09-07 Thread Adi Roiban
On 6 September 2015 at 06:07, Glyph wrote: > > On Sep 5, 2015, at 04:03, Amber Hawkie Brown > wrote: > snip > It's Python's API which has changed here, so I don't think that it's > Twisted's responsibility to replicate this behavior. Subclassing is bad, > and Python's changes of public attribut

Re: [Twisted-Python] Exception's Implicit Public API, and Python 3

2015-09-07 Thread Tom Most
Would str(failure.value) work? It should be stable from 2.x to 3.x, barring Unicode differences: https://docs.python.org/2/library/exceptions.html#exceptions.BaseException https://docs.python.org/3.5/library/exceptions.html#BaseException (This convention is quite handy when you want to defer for

Re: [Twisted-Python] Exception's Implicit Public API, and Python 3

2015-09-06 Thread Tobias Oberstein
Put differently, Twisted's "the first one's free" policy applies to upgrading Twisted itself, and /not/ to upgrading Python (or any other dependency). If you upgrade Python and you need to update your code for that, Twisted won't create any additional problems but it won't go out of its way to so

Re: [Twisted-Python] Exception's Implicit Public API, and Python 3

2015-09-05 Thread Glyph
> On Sep 5, 2015, at 04:03, Amber Hawkie Brown > wrote: > > We just ran into an issue in Autobahn|Python where a log message that tried > to use the message attribute an Exception subclass > (twisted.internet.error.ProcessTerminated). The message attribute was