[Python-Dev] Parametrized codecs
M.-A. Lemburg
mal@lemburg.com
Thu, 20 Sep 2001 12:03:09 +0200
Andrew Kuchling wrote:
>
> >The codec design allows extending the constructors using keyword
> >arguments, however I'd rather not add a generic **kws argument
> >to the base classes since this would hide errors (unknown or
> >unsupported keywords, mispellings, etc.).
>
> Isn't such an argument required at least for StreamReaderWriter,
> because it actually instantiates two objects?
>
> class StreamReaderWriter:
> def __init__(self, stream, Reader, Writer, errors='strict'):
>
> """ ...
> Reader, Writer must be factory functions or classes
> providing the StreamReader, StreamWriter interface resp.
> """
> self.stream = stream
> self.reader = Reader(stream, errors)
> self.writer = Writer(stream, errors)
>
> Hmm... you'd better not need to have two different set of keyword
> arguments for Reader and Writer. Is that limitation acceptable?
Should be OK since both work on the same stream backend and
thus will normally use the same encoding parameters.
> If
> it is, then the list of changes becomes 1) add **kw to codecs.open,
> and 2) add **kw to StreamReaderWriter's constructor, and apply it to
> the Reader() and Writer() calls.
Right.
> >The encoder and decoder functions must work stateless.
>
> OK, then they're not suitable for encryption (in general, though
> they'd work fine for ECB mode).
Right; would it be feasable to use ECB ciphers for the stateless
part and also allow other modes for the StreamReader/Writer ?
--
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Consulting & Company: http://www.egenix.com/
Python Software: http://www.lemburg.com/python/