[Python-Dev] transform() and untransform() methods, and the codec registry

Antoine Pitrou solipsis at pitrou.net
Thu Dec 9 20:17:49 CET 2010


On Thu, 9 Dec 2010 13:55:08 -0500
Alexander Belopolsky <alexander.belopolsky at gmail.com> wrote:

> On Thu, Dec 9, 2010 at 1:42 PM, Guido van Rossum <guido at python.org> wrote:
> ..
> > string-string transforms use the same namespace even though the
> > typical transform only supports one or the other. E.g. IMO all of the
> > following should raise LookupError:
> >
> >>>> b'abc'.transform('rot13')
> > Traceback (most recent call last):
> > ..
> >    return (input.translate(rot13_map), len(input))
> > TypeError: expected an object with the buffer interface
> 
> This is actually *very* misleading because
> 
> >>> 'abc'.transform('rot13')
> 'nop'
> 
> works even though 'abc' is not "an object with the buffer interface".

Agreed. It was already pointed out in the parent thread.
I would say my opinion on keeping transform()/untransform() is +0 if
these error messages (and preferably the exception type as well) get
improved. Otherwise we'd better revert them and add a more polished
version in 3.3.

Regards

Antoine.




More information about the Python-Dev mailing list