homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients belopolsky, benjamin.peterson, cben, eric.araujo, flox, georg.brandl, gvanrossum, lemburg, loewis, ssbarnea, vstinner
Date 2011年10月17日.00:53:28
SpamBayes Score 1.1241008e-13
Marked as misclassified No
Message-id <1318812809.87.0.402559707949.issue7475@psf.upfronthosting.co.za>
In-reply-to
Content
What is the status of this issue?
rot13 codecs & friends were added back to Python 3.2 with {bytes,str}.(un)transform() methods: commit 7e4833764c88. Codecs were disabled because of surprising error messages before the release of Python 3.2 final: issue #10807, commit ff1261a14573. transform() and untransform() methods were also removed, I don't remember why/how exactly, maybe because new codecs were disabled.
So we have rot13 & friends in Python 3.2 and 3.3, but they cannot be used with the regular str.encode('rot13'), you have to write (for example):
>>> codecs.getdecoder('rot_13')('rot13')
('ebg13', 5)
>>> codecs.getencoder('rot_13')('ebg13')
('rot13', 5)
The major issue with {bytes,str}.(un)transform() is that we have only one registry for all codecs, and the registry was changed in Python 3 to ensure:
 * encode: str->bytes
 * decode: bytes->str
To implement str.transform(), we need another register. Marc-Andre suggested (msg96374) to add tags to codecs:
"""
.encode_input_types = (str,)
.encode_output_types = (bytes,)
.decode_input_types = (bytes,)
.decode_output_types = (str,)
"""
I'm still opposed to str->str (rot13) and bytes->bytes (hex, gzip, ...) operations using the codecs API. Developers have to use the right module. If the API of these modules is too complex, we should add helpers to these modules, but not to builtin types. Builtin types have to be and stay simple and well defined.
History
Date User Action Args
2011年10月17日 00:53:30vstinnersetrecipients: + vstinner, lemburg, gvanrossum, loewis, georg.brandl, cben, belopolsky, benjamin.peterson, eric.araujo, ssbarnea, flox
2011年10月17日 00:53:29vstinnersetmessageid: <1318812809.87.0.402559707949.issue7475@psf.upfronthosting.co.za>
2011年10月17日 00:53:29vstinnerlinkissue7475 messages
2011年10月17日 00:53:28vstinnercreate

AltStyle によって変換されたページ (->オリジナル) /