[ python-Bugs-1551432 ] __unicode__ breaks for exception class objects
SourceForge.net
noreply at sourceforge.net
Tue Sep 5 20:22:23 CEST 2006
Bugs item #1551432, was opened at 2006-09-03 05:24
Message generated for change (Comment added) made by bcannon
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1551432&group_id=5470
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: None
Group: None
Status: Open
Resolution: None
Priority: 9
Submitted By: Marcin 'Qrczak' Kowalczyk (qrczak)
Assigned to: Nobody/Anonymous (nobody)
Summary: __unicode__ breaks for exception class objects
Initial Comment:
PyObject_Unicode and the unicode function stopped
working on class objects of subclasses of BaseException
in Python 2.5.
>>> unicode(ImportError)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: descriptor '__unicode__' of
'exceptions.BaseException' object needs an argument
It should work analogously to str:
>>> str(ImportError)
"<type 'exceptions.ImportError'>"
----------------------------------------------------------------------
>Comment By: Brett Cannon (bcannon)
Date: 2006-09-05 11:22
Message:
Logged In: YES
user_id=357491
This is because exceptions now define a proper __unicode__()
method in the PyMethodDef array. This is what gets called
and it requires an exception instance. Before it just fell
through to the tp_str slot and that didn't complain.
Unless some knows a better way (short of defining a
tp_unicode slot), the only way to make this work would be to
rip out the __unicode__() method. This would then require
the function in the tp_str slot to have to detect if its
arguments need to be Unicode or not (and I don't know how to
do that off the top of my head; is their a PyUnicode_Check()?).
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1551432&group_id=5470
More information about the Python-bugs-list
mailing list