Hello,
I need a custom unicode subtype (with additional methods). This will not be
directly used by the user, instead it is just for internal purpose.
I would like the type to be able to cope with either a byte str or a unicode
str as argument. In the first case, it needs to be first decoded. I cannot do
it in __init__ because unicode will first try to decode it as ascii, which
fails in the general case. So, I must have my own __new__.
The issue is the object (self) is then a unicode one instead of my own type.
class Unicode(unicode):
Unicode.FORMAT = "utf8"
def __new__(self, text, format=None):
# text can be str or unicode
format = Unicode.FORMAT if format is None else format
if isinstance(text,str):
text = text.decode(format)
return text
.......
x = Unicode("abc") # --> unicode, not Unicode
Denis
________________________________
la vita e estrany
spir.wikidot.com
_______________________________________________
Tutor maillist - [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor