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
_______________________________________________
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to