Setting it as a class level attribute seems to suppress it:

>>> class TestError(Exception):
...     message = ""
...
...     def __init__(self, msg):
...        self.message = msg

Since it's a string and passed by value I think this would work. I'll
open up a ticket if one's not already.

-J


On Thu, Mar 10, 2011 at 10:12 PM, Glyph Lefkowitz
<gl...@twistedmatrix.com> wrote:
> On Mar 10, 2011, at 5:45 PM, Jason J. W. Williams wrote:
>
>> Hi Guys,
>>
>> Been seeing this error for a long time and finally getting off my bum
>> to see about fixing it:
>>
>> twisted/web/error.py:53: DeprecationWarning: BaseException.message has
>> been deprecated as of Python 2.6
>>
>> It looks like the issue is the "self.message = message" assignment in
>> __init__: https://gist.github.com/865097
>>
>> Before I go about getting rid of the warning, does anyone have a
>> reason Error.message should stick around?
>
> This is the attribute used (in some cases) to relay the protocol-level error 
> message printed in the status line area of the HTTP response.  So yes, we 
> need to keep it; it doesn't mean the same thing as Python's earlier 'message' 
> attribute on Exception.  If we can simply squash the warning that would be 
> best.
>
>
>
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python@twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
>

_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to