mirror of https://github.com/python/cpython.git
Patch #1436130: codecs.lookup() now returns a CodecInfo object (a subclass
of tuple) that provides incremental decoders and encoders (a way to use stateful codecs without the stream API). Functions codecs.getincrementaldecoder() and codecs.getincrementalencoder() have been added.
This commit is contained in:
parent
e2ebb2d7f7
commit
abb02e5994
|
@ -24,8 +24,19 @@ It defines the following functions:
|
||||||
\begin{funcdesc}{register}{search_function}
|
\begin{funcdesc}{register}{search_function}
|
||||||
Register a codec search function. Search functions are expected to
|
Register a codec search function. Search functions are expected to
|
||||||
take one argument, the encoding name in all lower case letters, and
|
take one argument, the encoding name in all lower case letters, and
|
||||||
return a tuple of functions \code{(\var{encoder}, \var{decoder}, \var{stream_reader},
|
return a \class{CodecInfo} object having the following attributes:
|
||||||
\var{stream_writer})} taking the following arguments:
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item \code{name} The name of the encoding;
|
||||||
|
\item \code{encoder} The stateless encoding function;
|
||||||
|
\item \code{decoder} The stateless decoding function;
|
||||||
|
\item \code{incrementalencoder} An incremental encoder class or factory function;
|
||||||
|
\item \code{incrementaldecoder} An incremental decoder class or factory function;
|
||||||
|
\item \code{streamwriter} A stream writer class or factory function;
|
||||||
|
\item \code{streamreader} A stream reader class or factory function.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
The various functions or classes take the following arguments:
|
||||||
|
|
||||||
\var{encoder} and \var{decoder}: These must be functions or methods
|
\var{encoder} and \var{decoder}: These must be functions or methods
|
||||||
which have the same interface as the
|
which have the same interface as the
|
||||||
|
@ -33,7 +44,17 @@ return a tuple of functions \code{(\var{encoder}, \var{decoder}, \var{stream_rea
|
||||||
Codec Interface). The functions/methods are expected to work in a
|
Codec Interface). The functions/methods are expected to work in a
|
||||||
stateless mode.
|
stateless mode.
|
||||||
|
|
||||||
\var{stream_reader} and \var{stream_writer}: These have to be
|
\var{incrementalencoder} and \var{incrementalencoder}: These have to be
|
||||||
|
factory functions providing the following interface:
|
||||||
|
|
||||||
|
\code{factory(\var{errors}='strict')}
|
||||||
|
|
||||||
|
The factory functions must return objects providing the interfaces
|
||||||
|
defined by the base classes \class{IncrementalEncoder} and
|
||||||
|
\class{IncrementalEncoder}, respectively. Incremental codecs can maintain
|
||||||
|
state.
|
||||||
|
|
||||||
|
\var{streamreader} and \var{streamwriter}: These have to be
|
||||||
factory functions providing the following interface:
|
factory functions providing the following interface:
|
||||||
|
|
||||||
\code{factory(\var{stream}, \var{errors}='strict')}
|
\code{factory(\var{stream}, \var{errors}='strict')}
|
||||||
|
@ -58,13 +79,13 @@ return \code{None}.
|
||||||
\end{funcdesc}
|
\end{funcdesc}
|
||||||
|
|
||||||
\begin{funcdesc}{lookup}{encoding}
|
\begin{funcdesc}{lookup}{encoding}
|
||||||
Looks up a codec tuple in the Python codec registry and returns the
|
Looks up the codec info in the Python codec registry and returns a
|
||||||
function tuple as defined above.
|
\class{CodecInfo} object as defined above.
|
||||||
|
|
||||||
Encodings are first looked up in the registry's cache. If not found,
|
Encodings are first looked up in the registry's cache. If not found,
|
||||||
the list of registered search functions is scanned. If no codecs tuple
|
the list of registered search functions is scanned. If no \class{CodecInfo}
|
||||||
is found, a \exception{LookupError} is raised. Otherwise, the codecs
|
object is found, a \exception{LookupError} is raised. Otherwise, the
|
||||||
tuple is stored in the cache and returned to the caller.
|
\class{CodecInfo} object is stored in the cache and returned to the caller.
|
||||||
\end{funcdesc}
|
\end{funcdesc}
|
||||||
|
|
||||||
To simplify access to the various codecs, the module provides these
|
To simplify access to the various codecs, the module provides these
|
||||||
|
@ -85,6 +106,22 @@ function.
|
||||||
Raises a \exception{LookupError} in case the encoding cannot be found.
|
Raises a \exception{LookupError} in case the encoding cannot be found.
|
||||||
\end{funcdesc}
|
\end{funcdesc}
|
||||||
|
|
||||||
|
\begin{funcdesc}{getincrementalencoder}{encoding}
|
||||||
|
Lookup up the codec for the given encoding and return its incremental encoder
|
||||||
|
class or factory function.
|
||||||
|
|
||||||
|
Raises a \exception{LookupError} in case the encoding cannot be found or the
|
||||||
|
codec doesn't support an incremental encoder.
|
||||||
|
\end{funcdesc}
|
||||||
|
|
||||||
|
\begin{funcdesc}{getincrementaldecoder}{encoding}
|
||||||
|
Lookup up the codec for the given encoding and return its incremental decoder
|
||||||
|
class or factory function.
|
||||||
|
|
||||||
|
Raises a \exception{LookupError} in case the encoding cannot be found or the
|
||||||
|
codec doesn't support an incremental decoder.
|
||||||
|
\end{funcdesc}
|
||||||
|
|
||||||
\begin{funcdesc}{getreader}{encoding}
|
\begin{funcdesc}{getreader}{encoding}
|
||||||
Lookup up the codec for the given encoding and return its StreamReader
|
Lookup up the codec for the given encoding and return its StreamReader
|
||||||
class or factory function.
|
class or factory function.
|
||||||
|
@ -188,6 +225,18 @@ If \var{output} is not given, it defaults to \var{input}.
|
||||||
an encoding error occurs.
|
an encoding error occurs.
|
||||||
\end{funcdesc}
|
\end{funcdesc}
|
||||||
|
|
||||||
|
\begin{funcdesc}{iterencode}{iterable, encoding\optional{, errors}}
|
||||||
|
Uses an incremental encoder to iteratively encode the input provided by
|
||||||
|
\var{iterable}. This function is a generator. \var{errors} (as well as
|
||||||
|
any other keyword argument) is passed through to the incremental encoder.
|
||||||
|
\end{funcdesc}
|
||||||
|
|
||||||
|
\begin{funcdesc}{iterdecode}{iterable, encoding\optional{, errors}}
|
||||||
|
Uses an incremental decoder to iteratively decode the input provided by
|
||||||
|
\var{iterable}. This function is a generator. \var{errors} (as well as
|
||||||
|
any other keyword argument) is passed through to the incremental encoder.
|
||||||
|
\end{funcdesc}
|
||||||
|
|
||||||
The module also provides the following constants which are useful
|
The module also provides the following constants which are useful
|
||||||
for reading and writing to platform dependent files:
|
for reading and writing to platform dependent files:
|
||||||
|
|
||||||
|
@ -292,6 +341,109 @@ function interfaces of the stateless encoder and decoder:
|
||||||
empty object of the output object type in this situation.
|
empty object of the output object type in this situation.
|
||||||
\end{methoddesc}
|
\end{methoddesc}
|
||||||
|
|
||||||
|
The \class{IncrementalEncoder} and \class{IncrementalDecoder} classes provide
|
||||||
|
the basic interface for incremental encoding and decoding. Encoding/decoding the
|
||||||
|
input isn't done with one call to the stateless encoder/decoder function,
|
||||||
|
but with multiple calls to the \method{encode}/\method{decode} method of the
|
||||||
|
incremental encoder/decoder. The incremental encoder/decoder keeps track of
|
||||||
|
the encoding/decoding process during method calls.
|
||||||
|
|
||||||
|
The joined output of calls to the \method{encode}/\method{decode} method is the
|
||||||
|
same as if the all single inputs where joined into one, and this input was
|
||||||
|
encoded/decoded with the stateless encoder/decoder.
|
||||||
|
|
||||||
|
|
||||||
|
\subsubsection{IncrementalEncoder Objects \label{incremental-encoder-objects}}
|
||||||
|
|
||||||
|
The \class{IncrementalEncoder} class is used for encoding an input in multiple
|
||||||
|
steps. It defines the following methods which every incremental encoder must
|
||||||
|
define in order to be compatible to the Python codec registry.
|
||||||
|
|
||||||
|
\begin{classdesc}{IncrementalEncoder}{\optional{errors}}
|
||||||
|
Constructor for a \class{IncrementalEncoder} instance.
|
||||||
|
|
||||||
|
All incremental encoders must provide this constructor interface. They are
|
||||||
|
free to add additional keyword arguments, but only the ones defined
|
||||||
|
here are used by the Python codec registry.
|
||||||
|
|
||||||
|
The \class{IncrementalEncoder} may implement different error handling
|
||||||
|
schemes by providing the \var{errors} keyword argument. These
|
||||||
|
parameters are predefined:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item \code{'strict'} Raise \exception{ValueError} (or a subclass);
|
||||||
|
this is the default.
|
||||||
|
\item \code{'ignore'} Ignore the character and continue with the next.
|
||||||
|
\item \code{'replace'} Replace with a suitable replacement character
|
||||||
|
\item \code{'xmlcharrefreplace'} Replace with the appropriate XML
|
||||||
|
character reference
|
||||||
|
\item \code{'backslashreplace'} Replace with backslashed escape sequences.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
The \var{errors} argument will be assigned to an attribute of the
|
||||||
|
same name. Assigning to this attribute makes it possible to switch
|
||||||
|
between different error handling strategies during the lifetime
|
||||||
|
of the \class{IncrementalEncoder} object.
|
||||||
|
|
||||||
|
The set of allowed values for the \var{errors} argument can
|
||||||
|
be extended with \function{register_error()}.
|
||||||
|
\end{classdesc}
|
||||||
|
|
||||||
|
\begin{methoddesc}{encode}{object\optional{, final}}
|
||||||
|
Encodes \var{object} (taking the current state of the encoder into account)
|
||||||
|
and returns the resulting encoded object. If this is the last call to
|
||||||
|
\method{encode} \var{final} must be true (the default is false).
|
||||||
|
\end{methoddesc}
|
||||||
|
|
||||||
|
\begin{methoddesc}{reset}{}
|
||||||
|
Reset the encoder to the initial state.
|
||||||
|
\end{methoddesc}
|
||||||
|
|
||||||
|
|
||||||
|
\subsubsection{IncrementalDecoder Objects \label{incremental-decoder-objects}}
|
||||||
|
|
||||||
|
The \class{IncrementalDecoder} class is used for decoding an input in multiple
|
||||||
|
steps. It defines the following methods which every incremental decoder must
|
||||||
|
define in order to be compatible to the Python codec registry.
|
||||||
|
|
||||||
|
\begin{classdesc}{IncrementalDecoder}{\optional{errors}}
|
||||||
|
Constructor for a \class{IncrementalDecoder} instance.
|
||||||
|
|
||||||
|
All incremental decoders must provide this constructor interface. They are
|
||||||
|
free to add additional keyword arguments, but only the ones defined
|
||||||
|
here are used by the Python codec registry.
|
||||||
|
|
||||||
|
The \class{IncrementalDecoder} may implement different error handling
|
||||||
|
schemes by providing the \var{errors} keyword argument. These
|
||||||
|
parameters are predefined:
|
||||||
|
|
||||||
|
\begin{itemize}
|
||||||
|
\item \code{'strict'} Raise \exception{ValueError} (or a subclass);
|
||||||
|
this is the default.
|
||||||
|
\item \code{'ignore'} Ignore the character and continue with the next.
|
||||||
|
\item \code{'replace'} Replace with a suitable replacement character.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
The \var{errors} argument will be assigned to an attribute of the
|
||||||
|
same name. Assigning to this attribute makes it possible to switch
|
||||||
|
between different error handling strategies during the lifetime
|
||||||
|
of the \class{IncrementalEncoder} object.
|
||||||
|
|
||||||
|
The set of allowed values for the \var{errors} argument can
|
||||||
|
be extended with \function{register_error()}.
|
||||||
|
\end{classdesc}
|
||||||
|
|
||||||
|
\begin{methoddesc}{decode}{object\optional{, final}}
|
||||||
|
Decodes \var{object} (taking the current state of the decoder into account)
|
||||||
|
and returns the resulting decoded object. If this is the last call to
|
||||||
|
\method{decode} \var{final} must be true (the default is false).
|
||||||
|
\end{methoddesc}
|
||||||
|
|
||||||
|
\begin{methoddesc}{reset}{}
|
||||||
|
Reset the decoder to the initial state.
|
||||||
|
\end{methoddesc}
|
||||||
|
|
||||||
|
|
||||||
The \class{StreamWriter} and \class{StreamReader} classes provide
|
The \class{StreamWriter} and \class{StreamReader} classes provide
|
||||||
generic working interfaces which can be used to implement new
|
generic working interfaces which can be used to implement new
|
||||||
encodings submodules very easily. See \module{encodings.utf_8} for an
|
encodings submodules very easily. See \module{encodings.utf_8} for an
|
||||||
|
|
|
@ -29,15 +29,15 @@ PyAPI_FUNC(int) PyCodec_Register(
|
||||||
|
|
||||||
/* Codec register lookup API.
|
/* Codec register lookup API.
|
||||||
|
|
||||||
Looks up the given encoding and returns a tuple (encoder, decoder,
|
Looks up the given encoding and returns a CodecInfo object with
|
||||||
stream reader, stream writer) of functions which implement the
|
function attributes which implement the different aspects of
|
||||||
different aspects of processing the encoding.
|
processing the encoding.
|
||||||
|
|
||||||
The encoding string is looked up converted to all lower-case
|
The encoding string is looked up converted to all lower-case
|
||||||
characters. This makes encodings looked up through this mechanism
|
characters. This makes encodings looked up through this mechanism
|
||||||
effectively case-insensitive.
|
effectively case-insensitive.
|
||||||
|
|
||||||
If no codec is found, a KeyError is set and NULL returned.
|
If no codec is found, a KeyError is set and NULL returned.
|
||||||
|
|
||||||
As side effect, this tries to load the encodings package, if not
|
As side effect, this tries to load the encodings package, if not
|
||||||
yet done. This is part of the lazy load strategy for the encodings
|
yet done. This is part of the lazy load strategy for the encodings
|
||||||
|
@ -101,6 +101,20 @@ PyAPI_FUNC(PyObject *) PyCodec_Decoder(
|
||||||
const char *encoding
|
const char *encoding
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/* Get a IncrementalEncoder object for the given encoding. */
|
||||||
|
|
||||||
|
PyAPI_FUNC(PyObject *) PyCodec_IncrementalEncoder(
|
||||||
|
const char *encoding,
|
||||||
|
const char *errors
|
||||||
|
);
|
||||||
|
|
||||||
|
/* Get a IncrementalDecoder object function for the given encoding. */
|
||||||
|
|
||||||
|
PyAPI_FUNC(PyObject *) PyCodec_IncrementalDecoder(
|
||||||
|
const char *encoding,
|
||||||
|
const char *errors
|
||||||
|
);
|
||||||
|
|
||||||
/* Get a StreamReader factory function for the given encoding. */
|
/* Get a StreamReader factory function for the given encoding. */
|
||||||
|
|
||||||
PyAPI_FUNC(PyObject *) PyCodec_StreamReader(
|
PyAPI_FUNC(PyObject *) PyCodec_StreamReader(
|
||||||
|
|
183
Lib/codecs.py
183
Lib/codecs.py
|
@ -73,6 +73,23 @@
|
||||||
|
|
||||||
### Codec base classes (defining the API)
|
### Codec base classes (defining the API)
|
||||||
|
|
||||||
|
class CodecInfo(tuple):
|
||||||
|
|
||||||
|
def __new__(cls, encode, decode, streamreader=None, streamwriter=None,
|
||||||
|
incrementalencoder=None, incrementaldecoder=None, name=None):
|
||||||
|
self = tuple.__new__(cls, (encode, decode, streamreader, streamwriter))
|
||||||
|
self.name = name
|
||||||
|
self.encode = encode
|
||||||
|
self.decode = decode
|
||||||
|
self.incrementalencoder = incrementalencoder
|
||||||
|
self.incrementaldecoder = incrementaldecoder
|
||||||
|
self.streamwriter = streamwriter
|
||||||
|
self.streamreader = streamreader
|
||||||
|
return self
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
return "<%s.%s object for encoding %s at 0x%x>" % (self.__class__.__module__, self.__class__.__name__, self.name, id(self))
|
||||||
|
|
||||||
class Codec:
|
class Codec:
|
||||||
|
|
||||||
""" Defines the interface for stateless encoders/decoders.
|
""" Defines the interface for stateless encoders/decoders.
|
||||||
|
@ -137,6 +154,88 @@ def decode(self, input, errors='strict'):
|
||||||
"""
|
"""
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
|
|
||||||
|
class IncrementalEncoder(object):
|
||||||
|
"""
|
||||||
|
A IncrementalEncoder encodes an input in multiple steps. The input can be
|
||||||
|
passed piece by piece to the encode() method. The IncrementalEncoder remembers
|
||||||
|
the state of the Encoding process between calls to encode().
|
||||||
|
"""
|
||||||
|
def __init__(self, errors='strict'):
|
||||||
|
"""
|
||||||
|
Creates a IncrementalEncoder instance.
|
||||||
|
|
||||||
|
The IncrementalEncoder may use different error handling schemes by
|
||||||
|
providing the errors keyword argument. See the module docstring
|
||||||
|
for a list of possible values.
|
||||||
|
"""
|
||||||
|
self.errors = errors
|
||||||
|
self.buffer = ""
|
||||||
|
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
"""
|
||||||
|
Encodes input and returns the resulting object.
|
||||||
|
"""
|
||||||
|
raise NotImplementedError
|
||||||
|
|
||||||
|
def reset(self):
|
||||||
|
"""
|
||||||
|
Resets the encoder to the initial state.
|
||||||
|
"""
|
||||||
|
|
||||||
|
class IncrementalDecoder(object):
|
||||||
|
"""
|
||||||
|
An IncrementalDecoder decodes an input in multiple steps. The input can be
|
||||||
|
passed piece by piece to the decode() method. The IncrementalDecoder
|
||||||
|
remembers the state of the decoding process between calls to decode().
|
||||||
|
"""
|
||||||
|
def __init__(self, errors='strict'):
|
||||||
|
"""
|
||||||
|
Creates a IncrementalDecoder instance.
|
||||||
|
|
||||||
|
The IncrementalDecoder may use different error handling schemes by
|
||||||
|
providing the errors keyword argument. See the module docstring
|
||||||
|
for a list of possible values.
|
||||||
|
"""
|
||||||
|
self.errors = errors
|
||||||
|
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
"""
|
||||||
|
Decodes input and returns the resulting object.
|
||||||
|
"""
|
||||||
|
raise NotImplementedError
|
||||||
|
|
||||||
|
def reset(self):
|
||||||
|
"""
|
||||||
|
Resets the decoder to the initial state.
|
||||||
|
"""
|
||||||
|
|
||||||
|
class BufferedIncrementalDecoder(IncrementalDecoder):
|
||||||
|
"""
|
||||||
|
This subclass of IncrementalDecoder can be used as the baseclass for an
|
||||||
|
incremental decoder if the decoder must be able to handle incomplete byte
|
||||||
|
sequences.
|
||||||
|
"""
|
||||||
|
def __init__(self, errors='strict'):
|
||||||
|
IncrementalDecoder.__init__(self, errors)
|
||||||
|
self.buffer = "" # undecoded input that is kept between calls to decode()
|
||||||
|
|
||||||
|
def _buffer_decode(self, input, errors, final):
|
||||||
|
# Overwrite this method in subclasses: It must decode input
|
||||||
|
# and return an (output, length consumed) tuple
|
||||||
|
raise NotImplementedError
|
||||||
|
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
# decode input (taking the buffer into account)
|
||||||
|
data = self.buffer + input
|
||||||
|
(result, consumed) = self._buffer_decode(data, self.errors, final)
|
||||||
|
# keep undecoded input until the next call
|
||||||
|
self.buffer = data[consumed:]
|
||||||
|
return result
|
||||||
|
|
||||||
|
def reset(self):
|
||||||
|
IncrementalDecoder.reset(self)
|
||||||
|
self.bytebuffer = ""
|
||||||
|
|
||||||
#
|
#
|
||||||
# The StreamWriter and StreamReader class provide generic working
|
# The StreamWriter and StreamReader class provide generic working
|
||||||
# interfaces which can be used to implement new encoding submodules
|
# interfaces which can be used to implement new encoding submodules
|
||||||
|
@ -666,8 +765,8 @@ def open(filename, mode='rb', encoding=None, errors='strict', buffering=1):
|
||||||
file = __builtin__.open(filename, mode, buffering)
|
file = __builtin__.open(filename, mode, buffering)
|
||||||
if encoding is None:
|
if encoding is None:
|
||||||
return file
|
return file
|
||||||
(e, d, sr, sw) = lookup(encoding)
|
info = lookup(encoding)
|
||||||
srw = StreamReaderWriter(file, sr, sw, errors)
|
srw = StreamReaderWriter(file, info.streamreader, info.streamwriter, errors)
|
||||||
# Add attributes to simplify introspection
|
# Add attributes to simplify introspection
|
||||||
srw.encoding = encoding
|
srw.encoding = encoding
|
||||||
return srw
|
return srw
|
||||||
|
@ -699,11 +798,9 @@ def EncodedFile(file, data_encoding, file_encoding=None, errors='strict'):
|
||||||
"""
|
"""
|
||||||
if file_encoding is None:
|
if file_encoding is None:
|
||||||
file_encoding = data_encoding
|
file_encoding = data_encoding
|
||||||
encode, decode = lookup(data_encoding)[:2]
|
info = lookup(data_encoding)
|
||||||
Reader, Writer = lookup(file_encoding)[2:]
|
sr = StreamRecoder(file, info.encode, info.decode,
|
||||||
sr = StreamRecoder(file,
|
info.streamreader, info.streamwriter, errors)
|
||||||
encode, decode, Reader, Writer,
|
|
||||||
errors)
|
|
||||||
# Add attributes to simplify introspection
|
# Add attributes to simplify introspection
|
||||||
sr.data_encoding = data_encoding
|
sr.data_encoding = data_encoding
|
||||||
sr.file_encoding = file_encoding
|
sr.file_encoding = file_encoding
|
||||||
|
@ -719,7 +816,7 @@ def getencoder(encoding):
|
||||||
Raises a LookupError in case the encoding cannot be found.
|
Raises a LookupError in case the encoding cannot be found.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
return lookup(encoding)[0]
|
return lookup(encoding).encode
|
||||||
|
|
||||||
def getdecoder(encoding):
|
def getdecoder(encoding):
|
||||||
|
|
||||||
|
@ -729,7 +826,35 @@ def getdecoder(encoding):
|
||||||
Raises a LookupError in case the encoding cannot be found.
|
Raises a LookupError in case the encoding cannot be found.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
return lookup(encoding)[1]
|
return lookup(encoding).decode
|
||||||
|
|
||||||
|
def getincrementalencoder(encoding):
|
||||||
|
|
||||||
|
""" Lookup up the codec for the given encoding and return
|
||||||
|
its IncrementalEncoder class or factory function.
|
||||||
|
|
||||||
|
Raises a LookupError in case the encoding cannot be found
|
||||||
|
or the codecs doesn't provide an incremental encoder.
|
||||||
|
|
||||||
|
"""
|
||||||
|
encoder = lookup(encoding).incrementalencoder
|
||||||
|
if encoder is None:
|
||||||
|
raise LookupError(encoding)
|
||||||
|
return encoder
|
||||||
|
|
||||||
|
def getincrementaldecoder(encoding):
|
||||||
|
|
||||||
|
""" Lookup up the codec for the given encoding and return
|
||||||
|
its IncrementalDecoder class or factory function.
|
||||||
|
|
||||||
|
Raises a LookupError in case the encoding cannot be found
|
||||||
|
or the codecs doesn't provide an incremental decoder.
|
||||||
|
|
||||||
|
"""
|
||||||
|
decoder = lookup(encoding).incrementaldecoder
|
||||||
|
if decoder is None:
|
||||||
|
raise LookupError(encoding)
|
||||||
|
return decoder
|
||||||
|
|
||||||
def getreader(encoding):
|
def getreader(encoding):
|
||||||
|
|
||||||
|
@ -739,7 +864,7 @@ def getreader(encoding):
|
||||||
Raises a LookupError in case the encoding cannot be found.
|
Raises a LookupError in case the encoding cannot be found.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
return lookup(encoding)[2]
|
return lookup(encoding).streamreader
|
||||||
|
|
||||||
def getwriter(encoding):
|
def getwriter(encoding):
|
||||||
|
|
||||||
|
@ -749,7 +874,43 @@ def getwriter(encoding):
|
||||||
Raises a LookupError in case the encoding cannot be found.
|
Raises a LookupError in case the encoding cannot be found.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
return lookup(encoding)[3]
|
return lookup(encoding).streamwriter
|
||||||
|
|
||||||
|
def iterencode(iterator, encoding, errors='strict', **kwargs):
|
||||||
|
"""
|
||||||
|
Encoding iterator.
|
||||||
|
|
||||||
|
Encodes the input strings from the iterator using a IncrementalEncoder.
|
||||||
|
|
||||||
|
errors and kwargs are passed through to the IncrementalEncoder
|
||||||
|
constructor.
|
||||||
|
"""
|
||||||
|
encoder = getincrementalencoder(encoding)(errors, **kwargs)
|
||||||
|
for input in iterator:
|
||||||
|
output = encoder.encode(input)
|
||||||
|
if output:
|
||||||
|
yield output
|
||||||
|
output = encoder.encode("", True)
|
||||||
|
if output:
|
||||||
|
yield output
|
||||||
|
|
||||||
|
def iterdecode(iterator, encoding, errors='strict', **kwargs):
|
||||||
|
"""
|
||||||
|
Decoding iterator.
|
||||||
|
|
||||||
|
Decodes the input strings from the iterator using a IncrementalDecoder.
|
||||||
|
|
||||||
|
errors and kwargs are passed through to the IncrementalDecoder
|
||||||
|
constructor.
|
||||||
|
"""
|
||||||
|
decoder = getincrementaldecoder(encoding)(errors, **kwargs)
|
||||||
|
for input in iterator:
|
||||||
|
output = decoder.decode(input)
|
||||||
|
if output:
|
||||||
|
yield output
|
||||||
|
output = decoder.decode("", True)
|
||||||
|
if output:
|
||||||
|
yield output
|
||||||
|
|
||||||
### Helpers for charmap-based codecs
|
### Helpers for charmap-based codecs
|
||||||
|
|
||||||
|
|
|
@ -9,9 +9,10 @@
|
||||||
|
|
||||||
Each codec module must export the following interface:
|
Each codec module must export the following interface:
|
||||||
|
|
||||||
* getregentry() -> (encoder, decoder, stream_reader, stream_writer)
|
* getregentry() -> codecs.CodecInfo object
|
||||||
The getregentry() API must return callable objects which adhere to
|
The getregentry() API must a CodecInfo object with encoder, decoder,
|
||||||
the Python Codec Interface Standard.
|
incrementalencoder, incrementaldecoder, streamwriter and streamreader
|
||||||
|
atttributes which adhere to the Python Codec Interface Standard.
|
||||||
|
|
||||||
In addition, a module may optionally also define the following
|
In addition, a module may optionally also define the following
|
||||||
APIs which are then used by the package's codec search function:
|
APIs which are then used by the package's codec search function:
|
||||||
|
@ -113,16 +114,24 @@ def search_function(encoding):
|
||||||
return None
|
return None
|
||||||
|
|
||||||
# Now ask the module for the registry entry
|
# Now ask the module for the registry entry
|
||||||
entry = tuple(getregentry())
|
entry = getregentry()
|
||||||
if len(entry) != 4:
|
if not isinstance(entry, codecs.CodecInfo):
|
||||||
raise CodecRegistryError,\
|
if not 4 <= len(entry) <= 7:
|
||||||
'module "%s" (%s) failed to register' % \
|
raise CodecRegistryError,\
|
||||||
(mod.__name__, mod.__file__)
|
'module "%s" (%s) failed to register' % \
|
||||||
for obj in entry:
|
(mod.__name__, mod.__file__)
|
||||||
if not callable(obj):
|
if not callable(entry[0]) or \
|
||||||
|
not callable(entry[1]) or \
|
||||||
|
(entry[2] is not None and not callable(entry[2])) or \
|
||||||
|
(entry[3] is not None and not callable(entry[3])) or \
|
||||||
|
(len(entry) > 4 and entry[4] is not None and not callable(entry[4])) or \
|
||||||
|
(len(entry) > 5 and entry[5] is not None and not callable(entry[5])):
|
||||||
raise CodecRegistryError,\
|
raise CodecRegistryError,\
|
||||||
'incompatible codecs in module "%s" (%s)' % \
|
'incompatible codecs in module "%s" (%s)' % \
|
||||||
(mod.__name__, mod.__file__)
|
(mod.__name__, mod.__file__)
|
||||||
|
if len(entry)<7 or entry[6] is None:
|
||||||
|
entry += (None,)*(6-len(entry)) + (mod.__name__.split(".", 1)[1],)
|
||||||
|
entry = codecs.CodecInfo(*entry)
|
||||||
|
|
||||||
# Cache the codec registry entry
|
# Cache the codec registry entry
|
||||||
_cache[encoding] = entry
|
_cache[encoding] = entry
|
||||||
|
|
|
@ -17,6 +17,14 @@ class Codec(codecs.Codec):
|
||||||
encode = codecs.ascii_encode
|
encode = codecs.ascii_encode
|
||||||
decode = codecs.ascii_decode
|
decode = codecs.ascii_decode
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.ascii_encode(input, self.errors)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.ascii_decode(input, self.errors)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -31,5 +39,12 @@ class StreamConverter(StreamWriter,StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec.encode,Codec.decode,StreamReader,StreamWriter)
|
name='ascii',
|
||||||
|
encode=Codec.encode,
|
||||||
|
decode=Codec.decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
)
|
||||||
|
|
|
@ -49,6 +49,16 @@ def encode(self, input,errors='strict'):
|
||||||
def decode(self, input,errors='strict'):
|
def decode(self, input,errors='strict'):
|
||||||
return base64_decode(input,errors)
|
return base64_decode(input,errors)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
assert self.errors == 'strict'
|
||||||
|
return base64.encodestring(input)
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
assert self.errors == 'strict'
|
||||||
|
return base64.decodestring(input)
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -58,5 +68,12 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (base64_encode,base64_decode,StreamReader,StreamWriter)
|
name='base64',
|
||||||
|
encode=base64_encode,
|
||||||
|
decode=base64_decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
)
|
||||||
|
|
|
@ -51,6 +51,16 @@ def encode(self, input, errors='strict'):
|
||||||
def decode(self, input, errors='strict'):
|
def decode(self, input, errors='strict'):
|
||||||
return bz2_decode(input, errors)
|
return bz2_decode(input, errors)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
assert self.errors == 'strict'
|
||||||
|
return bz2.compress(input)
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
assert self.errors == 'strict'
|
||||||
|
return bz2.decompress(input)
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -60,5 +70,12 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (bz2_encode,bz2_decode,StreamReader,StreamWriter)
|
name="bz2",
|
||||||
|
encode=bz2_encode,
|
||||||
|
decode=bz2_decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
)
|
||||||
|
|
|
@ -21,30 +21,49 @@ class Codec(codecs.Codec):
|
||||||
encode = codecs.charmap_encode
|
encode = codecs.charmap_encode
|
||||||
decode = codecs.charmap_decode
|
decode = codecs.charmap_decode
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def __init__(self, errors='strict', mapping=None):
|
||||||
|
codecs.IncrementalEncoder.__init__(self, errors)
|
||||||
|
self.mapping = mapping
|
||||||
|
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input, self.errors, self.mapping)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def __init__(self, errors='strict', mapping=None):
|
||||||
|
codecs.IncrementalDecoder.__init__(self, errors)
|
||||||
|
self.mapping = mapping
|
||||||
|
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input, self.errors, self.mapping)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
|
|
||||||
def __init__(self,stream,errors='strict',mapping=None):
|
def __init__(self,stream,errors='strict',mapping=None):
|
||||||
|
|
||||||
codecs.StreamWriter.__init__(self,stream,errors)
|
codecs.StreamWriter.__init__(self,stream,errors)
|
||||||
self.mapping = mapping
|
self.mapping = mapping
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return Codec.encode(input,errors,self.mapping)
|
return Codec.encode(input,errors,self.mapping)
|
||||||
|
|
||||||
class StreamReader(Codec,codecs.StreamReader):
|
class StreamReader(Codec,codecs.StreamReader):
|
||||||
|
|
||||||
def __init__(self,stream,errors='strict',mapping=None):
|
def __init__(self,stream,errors='strict',mapping=None):
|
||||||
|
|
||||||
codecs.StreamReader.__init__(self,stream,errors)
|
codecs.StreamReader.__init__(self,stream,errors)
|
||||||
self.mapping = mapping
|
self.mapping = mapping
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return Codec.decode(input,errors,self.mapping)
|
return Codec.decode(input,errors,self.mapping)
|
||||||
|
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec.encode,Codec.decode,StreamReader,StreamWriter)
|
name='charmap',
|
||||||
|
encode=Codec.encode,
|
||||||
|
decode=Codec.decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/MICSFT/EBCDIC/CP037.TXT' with gencodec.py.
|
""" Python Character Mapping Codec cp037 generated from 'MAPPINGS/VENDORS/MICSFT/EBCDIC/CP037.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp037',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x00FE: 0x8E, # LATIN SMALL LETTER THORN (ICELANDIC)
|
0x00FE: 0x8E, # LATIN SMALL LETTER THORN (ICELANDIC)
|
||||||
0x00FF: 0xDF, # LATIN SMALL LETTER Y WITH DIAERESIS
|
0x00FF: 0xDF, # LATIN SMALL LETTER Y WITH DIAERESIS
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/MISC/CP1006.TXT' with gencodec.py.
|
""" Python Character Mapping Codec cp1006 generated from 'MAPPINGS/VENDORS/MISC/CP1006.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp1006',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -549,3 +562,4 @@ def getregentry():
|
||||||
0xFEF2: 0xFA, # ARABIC LETTER YEH FINAL FORM
|
0xFEF2: 0xFA, # ARABIC LETTER YEH FINAL FORM
|
||||||
0xFEF3: 0xFB, # ARABIC LETTER YEH INITIAL FORM
|
0xFEF3: 0xFB, # ARABIC LETTER YEH INITIAL FORM
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/MICSFT/EBCDIC/CP1026.TXT' with gencodec.py.
|
""" Python Character Mapping Codec cp1026 generated from 'MAPPINGS/VENDORS/MICSFT/EBCDIC/CP1026.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp1026',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x015E: 0x7C, # LATIN CAPITAL LETTER S WITH CEDILLA
|
0x015E: 0x7C, # LATIN CAPITAL LETTER S WITH CEDILLA
|
||||||
0x015F: 0x6A, # LATIN SMALL LETTER S WITH CEDILLA
|
0x015F: 0x6A, # LATIN SMALL LETTER S WITH CEDILLA
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'python-mappings/CP1140.TXT' with gencodec.py.
|
""" Python Character Mapping Codec cp1140 generated from 'python-mappings/CP1140.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp1140',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x00FF: 0xDF, # LATIN SMALL LETTER Y WITH DIAERESIS
|
0x00FF: 0xDF, # LATIN SMALL LETTER Y WITH DIAERESIS
|
||||||
0x20AC: 0x9F, # EURO SIGN
|
0x20AC: 0x9F, # EURO SIGN
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1250.TXT' with gencodec.py.
|
""" Python Character Mapping Codec cp1250 generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1250.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp1250',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -545,3 +558,4 @@ def getregentry():
|
||||||
0x20AC: 0x80, # EURO SIGN
|
0x20AC: 0x80, # EURO SIGN
|
||||||
0x2122: 0x99, # TRADE MARK SIGN
|
0x2122: 0x99, # TRADE MARK SIGN
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1251.TXT' with gencodec.py.
|
""" Python Character Mapping Codec cp1251 generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1251.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp1251',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -549,3 +562,4 @@ def getregentry():
|
||||||
0x2116: 0xB9, # NUMERO SIGN
|
0x2116: 0xB9, # NUMERO SIGN
|
||||||
0x2122: 0x99, # TRADE MARK SIGN
|
0x2122: 0x99, # TRADE MARK SIGN
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1252.TXT' with gencodec.py.
|
""" Python Character Mapping Codec cp1252 generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1252.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp1252',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -545,3 +558,4 @@ def getregentry():
|
||||||
0x20AC: 0x80, # EURO SIGN
|
0x20AC: 0x80, # EURO SIGN
|
||||||
0x2122: 0x99, # TRADE MARK SIGN
|
0x2122: 0x99, # TRADE MARK SIGN
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1253.TXT' with gencodec.py.
|
""" Python Character Mapping Codec cp1253 generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1253.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp1253',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -533,3 +546,4 @@ def getregentry():
|
||||||
0x20AC: 0x80, # EURO SIGN
|
0x20AC: 0x80, # EURO SIGN
|
||||||
0x2122: 0x99, # TRADE MARK SIGN
|
0x2122: 0x99, # TRADE MARK SIGN
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1254.TXT' with gencodec.py.
|
""" Python Character Mapping Codec cp1254 generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1254.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp1254',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -543,3 +556,4 @@ def getregentry():
|
||||||
0x20AC: 0x80, # EURO SIGN
|
0x20AC: 0x80, # EURO SIGN
|
||||||
0x2122: 0x99, # TRADE MARK SIGN
|
0x2122: 0x99, # TRADE MARK SIGN
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1255.TXT' with gencodec.py.
|
""" Python Character Mapping Codec cp1255 generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1255.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp1255',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -527,3 +540,4 @@ def getregentry():
|
||||||
0x20AC: 0x80, # EURO SIGN
|
0x20AC: 0x80, # EURO SIGN
|
||||||
0x2122: 0x99, # TRADE MARK SIGN
|
0x2122: 0x99, # TRADE MARK SIGN
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1256.TXT' with gencodec.py.
|
""" Python Character Mapping Codec cp1256 generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1256.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp1256',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x20AC: 0x80, # EURO SIGN
|
0x20AC: 0x80, # EURO SIGN
|
||||||
0x2122: 0x99, # TRADE MARK SIGN
|
0x2122: 0x99, # TRADE MARK SIGN
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1257.TXT' with gencodec.py.
|
""" Python Character Mapping Codec cp1257 generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1257.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp1257',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -538,3 +551,4 @@ def getregentry():
|
||||||
0x20AC: 0x80, # EURO SIGN
|
0x20AC: 0x80, # EURO SIGN
|
||||||
0x2122: 0x99, # TRADE MARK SIGN
|
0x2122: 0x99, # TRADE MARK SIGN
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1258.TXT' with gencodec.py.
|
""" Python Character Mapping Codec cp1258 generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1258.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp1258',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -541,3 +554,4 @@ def getregentry():
|
||||||
0x20AC: 0x80, # EURO SIGN
|
0x20AC: 0x80, # EURO SIGN
|
||||||
0x2122: 0x99, # TRADE MARK SIGN
|
0x2122: 0x99, # TRADE MARK SIGN
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/MISC/CP424.TXT' with gencodec.py.
|
""" Python Character Mapping Codec cp424 generated from 'MAPPINGS/VENDORS/MISC/CP424.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp424',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -512,3 +525,4 @@ def getregentry():
|
||||||
0x05EA: 0x71, # HEBREW LETTER TAV
|
0x05EA: 0x71, # HEBREW LETTER TAV
|
||||||
0x2017: 0x78, # DOUBLE LOW LINE
|
0x2017: 0x78, # DOUBLE LOW LINE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP437.TXT' with gencodec.py.
|
""" Python Character Mapping Codec cp437 generated from 'VENDORS/MICSFT/PC/CP437.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp437',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
### Decoding Map
|
### Decoding Map
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/MICSFT/EBCDIC/CP500.TXT' with gencodec.py.
|
""" Python Character Mapping Codec cp500 generated from 'MAPPINGS/VENDORS/MICSFT/EBCDIC/CP500.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp500',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x00FE: 0x8E, # LATIN SMALL LETTER THORN (ICELANDIC)
|
0x00FE: 0x8E, # LATIN SMALL LETTER THORN (ICELANDIC)
|
||||||
0x00FF: 0xDF, # LATIN SMALL LETTER Y WITH DIAERESIS
|
0x00FF: 0xDF, # LATIN SMALL LETTER Y WITH DIAERESIS
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP737.TXT' with gencodec.py.
|
""" Python Character Mapping Codec cp737 generated from 'VENDORS/MICSFT/PC/CP737.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp737',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
### Decoding Map
|
### Decoding Map
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'VENDORS/MICSFT/PC/CP775.TXT' with gencodec.py.
|
""" Python Character Mapping Codec cp775 generated from 'VENDORS/MICSFT/PC/CP775.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,9 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp775',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
### Decoding Map
|
### Decoding Map
|
||||||
|
|
||||||
decoding_map = codecs.make_identity_dict(range(256))
|
decoding_map = codecs.make_identity_dict(range(256))
|
||||||
|
|
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp850',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
### Decoding Map
|
### Decoding Map
|
||||||
|
|
||||||
|
|
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp852',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
### Decoding Map
|
### Decoding Map
|
||||||
|
|
||||||
|
|
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp855',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
### Decoding Map
|
### Decoding Map
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/MISC/CP856.TXT' with gencodec.py.
|
""" Python Character Mapping Codec cp856 generated from 'MAPPINGS/VENDORS/MISC/CP856.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp856',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -509,3 +522,4 @@ def getregentry():
|
||||||
0x2593: 0xB2, # DARK SHADE
|
0x2593: 0xB2, # DARK SHADE
|
||||||
0x25A0: 0xFE, # BLACK SQUARE
|
0x25A0: 0xFE, # BLACK SQUARE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp857',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
### Decoding Map
|
### Decoding Map
|
||||||
|
|
||||||
|
|
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp860',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
### Decoding Map
|
### Decoding Map
|
||||||
|
|
||||||
|
|
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp861',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
### Decoding Map
|
### Decoding Map
|
||||||
|
|
||||||
|
|
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp862',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
### Decoding Map
|
### Decoding Map
|
||||||
|
|
||||||
|
|
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp863',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
### Decoding Map
|
### Decoding Map
|
||||||
|
|
||||||
|
|
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp864',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
### Decoding Map
|
### Decoding Map
|
||||||
|
|
||||||
|
|
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp865',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
### Decoding Map
|
### Decoding Map
|
||||||
|
|
||||||
|
|
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp866',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
### Decoding Map
|
### Decoding Map
|
||||||
|
|
||||||
|
|
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp869',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
### Decoding Map
|
### Decoding Map
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP874.TXT' with gencodec.py.
|
""" Python Character Mapping Codec cp874 generated from 'MAPPINGS/VENDORS/MICSFT/WINDOWS/CP874.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp874',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -519,3 +532,4 @@ def getregentry():
|
||||||
0x2026: 0x85, # HORIZONTAL ELLIPSIS
|
0x2026: 0x85, # HORIZONTAL ELLIPSIS
|
||||||
0x20AC: 0x80, # EURO SIGN
|
0x20AC: 0x80, # EURO SIGN
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/MICSFT/EBCDIC/CP875.TXT' with gencodec.py.
|
""" Python Character Mapping Codec cp875 generated from 'MAPPINGS/VENDORS/MICSFT/EBCDIC/CP875.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='cp875',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -544,3 +557,4 @@ def getregentry():
|
||||||
0x2018: 0xCE, # LEFT SINGLE QUOTATION MARK
|
0x2018: 0xCE, # LEFT SINGLE QUOTATION MARK
|
||||||
0x2019: 0xDE, # RIGHT SINGLE QUOTATION MARK
|
0x2019: 0xDE, # RIGHT SINGLE QUOTATION MARK
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -49,6 +49,16 @@ def encode(self, input,errors='strict'):
|
||||||
def decode(self, input,errors='strict'):
|
def decode(self, input,errors='strict'):
|
||||||
return hex_decode(input,errors)
|
return hex_decode(input,errors)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
assert self.errors == 'strict'
|
||||||
|
return binascii.b2a_hex(input)
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
assert self.errors == 'strict'
|
||||||
|
return binascii.a2b_hex(input)
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -58,5 +68,12 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (hex_encode,hex_decode,StreamReader,StreamWriter)
|
name='hex',
|
||||||
|
encode=hex_encode,
|
||||||
|
decode=hex_decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
)
|
||||||
|
|
|
@ -14,13 +14,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_map)
|
return codecs.charmap_decode(input,errors,decoding_map)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_map)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -30,8 +36,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='hp-roman8',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
)
|
||||||
|
|
||||||
### Decoding Map
|
### Decoding Map
|
||||||
|
|
||||||
|
|
|
@ -194,6 +194,14 @@ def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return u".".join(result)+trailing_dot, len(input)
|
return u".".join(result)+trailing_dot, len(input)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return Codec().encode(input, self.errors)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return Codec().decode(input, self.errors)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -203,5 +211,12 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='idna',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/ISO8859/8859-1.TXT' with gencodec.py.
|
""" Python Character Mapping Codec iso8859_1 generated from 'MAPPINGS/ISO8859/8859-1.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='iso8859-1',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x00FE: 0xFE, # LATIN SMALL LETTER THORN (Icelandic)
|
0x00FE: 0xFE, # LATIN SMALL LETTER THORN (Icelandic)
|
||||||
0x00FF: 0xFF, # LATIN SMALL LETTER Y WITH DIAERESIS
|
0x00FF: 0xFF, # LATIN SMALL LETTER Y WITH DIAERESIS
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/ISO8859/8859-10.TXT' with gencodec.py.
|
""" Python Character Mapping Codec iso8859_10 generated from 'MAPPINGS/ISO8859/8859-10.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='iso8859-10',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x017E: 0xBC, # LATIN SMALL LETTER Z WITH CARON
|
0x017E: 0xBC, # LATIN SMALL LETTER Z WITH CARON
|
||||||
0x2015: 0xBD, # HORIZONTAL BAR
|
0x2015: 0xBD, # HORIZONTAL BAR
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/ISO8859/8859-11.TXT' with gencodec.py.
|
""" Python Character Mapping Codec iso8859_11 generated from 'MAPPINGS/ISO8859/8859-11.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='iso8859-11',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -542,3 +555,4 @@ def getregentry():
|
||||||
0x0E5A: 0xFA, # THAI CHARACTER ANGKHANKHU
|
0x0E5A: 0xFA, # THAI CHARACTER ANGKHANKHU
|
||||||
0x0E5B: 0xFB, # THAI CHARACTER KHOMUT
|
0x0E5B: 0xFB, # THAI CHARACTER KHOMUT
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/ISO8859/8859-13.TXT' with gencodec.py.
|
""" Python Character Mapping Codec iso8859_13 generated from 'MAPPINGS/ISO8859/8859-13.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='iso8859-13',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x201D: 0xA1, # RIGHT DOUBLE QUOTATION MARK
|
0x201D: 0xA1, # RIGHT DOUBLE QUOTATION MARK
|
||||||
0x201E: 0xA5, # DOUBLE LOW-9 QUOTATION MARK
|
0x201E: 0xA5, # DOUBLE LOW-9 QUOTATION MARK
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/ISO8859/8859-14.TXT' with gencodec.py.
|
""" Python Character Mapping Codec iso8859_14 generated from 'MAPPINGS/ISO8859/8859-14.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='iso8859-14',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x1EF2: 0xAC, # LATIN CAPITAL LETTER Y WITH GRAVE
|
0x1EF2: 0xAC, # LATIN CAPITAL LETTER Y WITH GRAVE
|
||||||
0x1EF3: 0xBC, # LATIN SMALL LETTER Y WITH GRAVE
|
0x1EF3: 0xBC, # LATIN SMALL LETTER Y WITH GRAVE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/ISO8859/8859-15.TXT' with gencodec.py.
|
""" Python Character Mapping Codec iso8859_15 generated from 'MAPPINGS/ISO8859/8859-15.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='iso8859-15',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x017E: 0xB8, # LATIN SMALL LETTER Z WITH CARON
|
0x017E: 0xB8, # LATIN SMALL LETTER Z WITH CARON
|
||||||
0x20AC: 0xA4, # EURO SIGN
|
0x20AC: 0xA4, # EURO SIGN
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/ISO8859/8859-16.TXT' with gencodec.py.
|
""" Python Character Mapping Codec iso8859_16 generated from 'MAPPINGS/ISO8859/8859-16.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='iso8859-16',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x201E: 0xA5, # DOUBLE LOW-9 QUOTATION MARK
|
0x201E: 0xA5, # DOUBLE LOW-9 QUOTATION MARK
|
||||||
0x20AC: 0xA4, # EURO SIGN
|
0x20AC: 0xA4, # EURO SIGN
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/ISO8859/8859-2.TXT' with gencodec.py.
|
""" Python Character Mapping Codec iso8859_2 generated from 'MAPPINGS/ISO8859/8859-2.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='iso8859-2',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x02DB: 0xB2, # OGONEK
|
0x02DB: 0xB2, # OGONEK
|
||||||
0x02DD: 0xBD, # DOUBLE ACUTE ACCENT
|
0x02DD: 0xBD, # DOUBLE ACUTE ACCENT
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/ISO8859/8859-3.TXT' with gencodec.py.
|
""" Python Character Mapping Codec iso8859_3 generated from 'MAPPINGS/ISO8859/8859-3.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='iso8859-3',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -543,3 +556,4 @@ def getregentry():
|
||||||
0x02D8: 0xA2, # BREVE
|
0x02D8: 0xA2, # BREVE
|
||||||
0x02D9: 0xFF, # DOT ABOVE
|
0x02D9: 0xFF, # DOT ABOVE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/ISO8859/8859-4.TXT' with gencodec.py.
|
""" Python Character Mapping Codec iso8859_4 generated from 'MAPPINGS/ISO8859/8859-4.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='iso8859-4',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x02D9: 0xFF, # DOT ABOVE
|
0x02D9: 0xFF, # DOT ABOVE
|
||||||
0x02DB: 0xB2, # OGONEK
|
0x02DB: 0xB2, # OGONEK
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/ISO8859/8859-5.TXT' with gencodec.py.
|
""" Python Character Mapping Codec iso8859_5 generated from 'MAPPINGS/ISO8859/8859-5.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='iso8859-5',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x045F: 0xFF, # CYRILLIC SMALL LETTER DZHE
|
0x045F: 0xFF, # CYRILLIC SMALL LETTER DZHE
|
||||||
0x2116: 0xF0, # NUMERO SIGN
|
0x2116: 0xF0, # NUMERO SIGN
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/ISO8859/8859-6.TXT' with gencodec.py.
|
""" Python Character Mapping Codec iso8859_6 generated from 'MAPPINGS/ISO8859/8859-6.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='iso8859-6',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -505,3 +518,4 @@ def getregentry():
|
||||||
0x0651: 0xF1, # ARABIC SHADDA
|
0x0651: 0xF1, # ARABIC SHADDA
|
||||||
0x0652: 0xF2, # ARABIC SUKUN
|
0x0652: 0xF2, # ARABIC SUKUN
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/ISO8859/8859-7.TXT' with gencodec.py.
|
""" Python Character Mapping Codec iso8859_7 generated from 'MAPPINGS/ISO8859/8859-7.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='iso8859-7',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -547,3 +560,4 @@ def getregentry():
|
||||||
0x20AC: 0xA4, # EURO SIGN
|
0x20AC: 0xA4, # EURO SIGN
|
||||||
0x20AF: 0xA5, # DRACHMA SIGN
|
0x20AF: 0xA5, # DRACHMA SIGN
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/ISO8859/8859-8.TXT' with gencodec.py.
|
""" Python Character Mapping Codec iso8859_8 generated from 'MAPPINGS/ISO8859/8859-8.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='iso8859-8',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -514,3 +527,4 @@ def getregentry():
|
||||||
0x200F: 0xFE, # RIGHT-TO-LEFT MARK
|
0x200F: 0xFE, # RIGHT-TO-LEFT MARK
|
||||||
0x2017: 0xDF, # DOUBLE LOW LINE
|
0x2017: 0xDF, # DOUBLE LOW LINE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/ISO8859/8859-9.TXT' with gencodec.py.
|
""" Python Character Mapping Codec iso8859_9 generated from 'MAPPINGS/ISO8859/8859-9.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='iso8859-9',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x015E: 0xDE, # LATIN CAPITAL LETTER S WITH CEDILLA
|
0x015E: 0xDE, # LATIN CAPITAL LETTER S WITH CEDILLA
|
||||||
0x015F: 0xFE, # LATIN SMALL LETTER S WITH CEDILLA
|
0x015F: 0xFE, # LATIN SMALL LETTER S WITH CEDILLA
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/MISC/KOI8-R.TXT' with gencodec.py.
|
""" Python Character Mapping Codec koi8_r generated from 'MAPPINGS/VENDORS/MISC/KOI8-R.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='koi8-r',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x2593: 0x92, # DARK SHADE
|
0x2593: 0x92, # DARK SHADE
|
||||||
0x25A0: 0x94, # BLACK SQUARE
|
0x25A0: 0x94, # BLACK SQUARE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'python-mappings/KOI8-U.TXT' with gencodec.py.
|
""" Python Character Mapping Codec koi8_u generated from 'python-mappings/KOI8-U.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='koi8-u',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x2593: 0x92, # DARK SHADE
|
0x2593: 0x92, # DARK SHADE
|
||||||
0x25A0: 0x94, # BLACK SQUARE
|
0x25A0: 0x94, # BLACK SQUARE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,14 @@ class Codec(codecs.Codec):
|
||||||
encode = codecs.latin_1_encode
|
encode = codecs.latin_1_encode
|
||||||
decode = codecs.latin_1_decode
|
decode = codecs.latin_1_decode
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.latin_1_encode(input,self.errors)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.latin_1_decode(input,self.errors)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -31,5 +39,13 @@ class StreamConverter(StreamWriter,StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
|
name='iso8859-1',
|
||||||
|
encode=Codec.encode,
|
||||||
|
decode=Codec.decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
return (Codec.encode,Codec.decode,StreamReader,StreamWriter)
|
|
||||||
|
|
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='mac-arabic',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
### Decoding Map
|
### Decoding Map
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/APPLE/CENTEURO.TXT' with gencodec.py.
|
""" Python Character Mapping Codec mac_centeuro generated from 'MAPPINGS/VENDORS/APPLE/CENTEURO.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='mac-centeuro',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x2265: 0xB3, # GREATER-THAN OR EQUAL TO
|
0x2265: 0xB3, # GREATER-THAN OR EQUAL TO
|
||||||
0x25CA: 0xD7, # LOZENGE
|
0x25CA: 0xD7, # LOZENGE
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/APPLE/CROATIAN.TXT' with gencodec.py.
|
""" Python Character Mapping Codec mac_croatian generated from 'MAPPINGS/VENDORS/APPLE/CROATIAN.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='mac-croatian',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x25CA: 0xD7, # LOZENGE
|
0x25CA: 0xD7, # LOZENGE
|
||||||
0xF8FF: 0xD8, # Apple logo
|
0xF8FF: 0xD8, # Apple logo
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/APPLE/CYRILLIC.TXT' with gencodec.py.
|
""" Python Character Mapping Codec mac_cyrillic generated from 'MAPPINGS/VENDORS/APPLE/CYRILLIC.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='mac-cyrillic',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x2264: 0xB2, # LESS-THAN OR EQUAL TO
|
0x2264: 0xB2, # LESS-THAN OR EQUAL TO
|
||||||
0x2265: 0xB3, # GREATER-THAN OR EQUAL TO
|
0x2265: 0xB3, # GREATER-THAN OR EQUAL TO
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/APPLE/FARSI.TXT' with gencodec.py.
|
""" Python Character Mapping Codec mac_farsi generated from 'MAPPINGS/VENDORS/APPLE/FARSI.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='mac-farsi',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x2026: 0x93, # HORIZONTAL ELLIPSIS, right-left
|
0x2026: 0x93, # HORIZONTAL ELLIPSIS, right-left
|
||||||
0x274A: 0xC0, # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK, right-left
|
0x274A: 0xC0, # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK, right-left
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/APPLE/GREEK.TXT' with gencodec.py.
|
""" Python Character Mapping Codec mac_greek generated from 'MAPPINGS/VENDORS/APPLE/GREEK.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='mac-greek',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x2264: 0xB2, # LESS-THAN OR EQUAL TO
|
0x2264: 0xB2, # LESS-THAN OR EQUAL TO
|
||||||
0x2265: 0xB3, # GREATER-THAN OR EQUAL TO
|
0x2265: 0xB3, # GREATER-THAN OR EQUAL TO
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/APPLE/ICELAND.TXT' with gencodec.py.
|
""" Python Character Mapping Codec mac_iceland generated from 'MAPPINGS/VENDORS/APPLE/ICELAND.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='mac-iceland',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x25CA: 0xD7, # LOZENGE
|
0x25CA: 0xD7, # LOZENGE
|
||||||
0xF8FF: 0xF0, # Apple logo
|
0xF8FF: 0xF0, # Apple logo
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -14,13 +14,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_map)
|
return codecs.charmap_decode(input,errors,decoding_map)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_map)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -30,8 +36,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='mac-latin2',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
### Decoding Map
|
### Decoding Map
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/APPLE/ROMAN.TXT' with gencodec.py.
|
""" Python Character Mapping Codec mac_roman generated from 'MAPPINGS/VENDORS/APPLE/ROMAN.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='mac-roman',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0xFB01: 0xDE, # LATIN SMALL LIGATURE FI
|
0xFB01: 0xDE, # LATIN SMALL LIGATURE FI
|
||||||
0xFB02: 0xDF, # LATIN SMALL LIGATURE FL
|
0xFB02: 0xDF, # LATIN SMALL LIGATURE FL
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/APPLE/ROMANIAN.TXT' with gencodec.py.
|
""" Python Character Mapping Codec mac_romanian generated from 'MAPPINGS/VENDORS/APPLE/ROMANIAN.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='mac-romanian',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0x25CA: 0xD7, # LOZENGE
|
0x25CA: 0xD7, # LOZENGE
|
||||||
0xF8FF: 0xF0, # Apple logo
|
0xF8FF: 0xF0, # Apple logo
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'MAPPINGS/VENDORS/APPLE/TURKISH.TXT' with gencodec.py.
|
""" Python Character Mapping Codec mac_turkish generated from 'MAPPINGS/VENDORS/APPLE/TURKISH.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='mac-turkish',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -550,3 +563,4 @@ def getregentry():
|
||||||
0xF8A0: 0xF5, # undefined1
|
0xF8A0: 0xF5, # undefined1
|
||||||
0xF8FF: 0xF0, # Apple logo
|
0xF8FF: 0xF0, # Apple logo
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,13 @@ class Codec(codecs.Codec):
|
||||||
encode = codecs.mbcs_encode
|
encode = codecs.mbcs_encode
|
||||||
decode = codecs.mbcs_decode
|
decode = codecs.mbcs_decode
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.mbs_encode(input,self.errors)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.mbs_decode(input,self.errors)[0]
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -32,5 +39,12 @@ class StreamConverter(StreamWriter,StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec.encode,Codec.decode,StreamReader,StreamWriter)
|
name='mbcs',
|
||||||
|
encode=Codec.encode,
|
||||||
|
decode=Codec.decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
|
@ -15,6 +15,14 @@ def encode(self,input,errors='strict'):
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
return codecs.charmap_decode(input,errors,decoding_map)
|
return codecs.charmap_decode(input,errors,decoding_map)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_map)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -24,7 +32,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
return codecs.CodecInfo(
|
||||||
|
name='palmos',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
### Decoding Map
|
### Decoding Map
|
||||||
|
|
||||||
|
|
|
@ -14,13 +14,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_map)
|
return codecs.charmap_decode(input,errors,decoding_map)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_map)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -30,8 +36,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='ptcp154',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
### Decoding Map
|
### Decoding Map
|
||||||
|
|
||||||
|
|
|
@ -197,18 +197,27 @@ def punycode_decode(text, errors):
|
||||||
### Codec APIs
|
### Codec APIs
|
||||||
|
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
def encode(self,input,errors='strict'):
|
|
||||||
|
|
||||||
|
def encode(self,input,errors='strict'):
|
||||||
res = punycode_encode(input)
|
res = punycode_encode(input)
|
||||||
return res, len(input)
|
return res, len(input)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
if errors not in ('strict', 'replace', 'ignore'):
|
if errors not in ('strict', 'replace', 'ignore'):
|
||||||
raise UnicodeError, "Unsupported error handling "+errors
|
raise UnicodeError, "Unsupported error handling "+errors
|
||||||
res = punycode_decode(input, errors)
|
res = punycode_decode(input, errors)
|
||||||
return res, len(input)
|
return res, len(input)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return punycode_encode(input)
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
if errors not in ('strict', 'replace', 'ignore'):
|
||||||
|
raise UnicodeError, "Unsupported error handling "+errors
|
||||||
|
return punycode_decode(input, errors)
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -218,5 +227,12 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='punycode',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
)
|
||||||
|
|
|
@ -46,6 +46,14 @@ def encode(self, input,errors='strict'):
|
||||||
def decode(self, input,errors='strict'):
|
def decode(self, input,errors='strict'):
|
||||||
return quopri_decode(input,errors)
|
return quopri_decode(input,errors)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return quopri_encode(input, self.errors)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return quopri_decode(input, self.errors)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec, codecs.StreamWriter):
|
class StreamWriter(Codec, codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -55,4 +63,12 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
# encodings module API
|
# encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
return (quopri_encode, quopri_decode, StreamReader, StreamWriter)
|
return codecs.CodecInfo(
|
||||||
|
name='quopri',
|
||||||
|
encode=quopri_encode,
|
||||||
|
decode=quopri_decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
)
|
||||||
|
|
|
@ -17,6 +17,14 @@ class Codec(codecs.Codec):
|
||||||
encode = codecs.raw_unicode_escape_encode
|
encode = codecs.raw_unicode_escape_encode
|
||||||
decode = codecs.raw_unicode_escape_decode
|
decode = codecs.raw_unicode_escape_decode
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.raw_unicode_escape_encode(input, self.errors)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.raw_unicode_escape_decode(input, self.errors)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -26,5 +34,12 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec.encode,Codec.decode,StreamReader,StreamWriter)
|
name='raw-unicode-escape',
|
||||||
|
encode=Codec.encode,
|
||||||
|
decode=Codec.decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
)
|
||||||
|
|
|
@ -14,13 +14,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_map)
|
return codecs.charmap_decode(input,errors,decoding_map)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_map)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -30,8 +36,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='rot-13',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
)
|
||||||
|
|
||||||
### Decoding Map
|
### Decoding Map
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,14 @@ class Codec(codecs.Codec):
|
||||||
encode = codecs.escape_encode
|
encode = codecs.escape_encode
|
||||||
decode = codecs.escape_decode
|
decode = codecs.escape_decode
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.escape_encode(input, self.errors)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.escape_decode(input, self.errors)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -19,5 +27,12 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec.encode,Codec.decode,StreamReader,StreamWriter)
|
name='string-escape',
|
||||||
|
encode=Codec.encode,
|
||||||
|
decode=Codec.decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
""" Python Character Mapping Codec generated from 'python-mappings/TIS-620.TXT' with gencodec.py.
|
""" Python Character Mapping Codec tis_620 generated from 'python-mappings/TIS-620.TXT' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -9,13 +9,19 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_decode(input,errors,decoding_table)
|
return codecs.charmap_decode(input,errors,decoding_table)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -25,8 +31,15 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='tis-620',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
### Decoding Table
|
### Decoding Table
|
||||||
|
@ -541,3 +554,4 @@ def getregentry():
|
||||||
0x0E5A: 0xFA, # THAI CHARACTER ANGKHANKHU
|
0x0E5A: 0xFA, # THAI CHARACTER ANGKHANKHU
|
||||||
0x0E5B: 0xFB, # THAI CHARACTER KHOMUT
|
0x0E5B: 0xFB, # THAI CHARACTER KHOMUT
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,10 +16,18 @@
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
raise UnicodeError, "undefined encoding"
|
raise UnicodeError("undefined encoding")
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
raise UnicodeError, "undefined encoding"
|
raise UnicodeError("undefined encoding")
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
raise UnicodeError("undefined encoding")
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
raise UnicodeError("undefined encoding")
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
@ -30,5 +38,12 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name='undefined',
|
||||||
|
encode=Codec().encode,
|
||||||
|
decode=Codec().decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
)
|
||||||
|
|
|
@ -17,6 +17,14 @@ class Codec(codecs.Codec):
|
||||||
encode = codecs.unicode_escape_encode
|
encode = codecs.unicode_escape_encode
|
||||||
decode = codecs.unicode_escape_decode
|
decode = codecs.unicode_escape_decode
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.unicode_escape_encode(input, self.errors)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.unicode_escape_decode(input, self.errors)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -26,5 +34,12 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec.encode,Codec.decode,StreamReader,StreamWriter)
|
name='unicode-escape',
|
||||||
|
encode=Codec.encode,
|
||||||
|
decode=Codec.decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
)
|
||||||
|
|
|
@ -17,6 +17,14 @@ class Codec(codecs.Codec):
|
||||||
encode = codecs.unicode_internal_encode
|
encode = codecs.unicode_internal_encode
|
||||||
decode = codecs.unicode_internal_decode
|
decode = codecs.unicode_internal_decode
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.unicode_internal_encode(input, self.errors)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return codecs.unicode_internal_decode(input, self.errors)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -26,5 +34,12 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec.encode,Codec.decode,StreamReader,StreamWriter)
|
name='unicode-internal',
|
||||||
|
encode=Codec.encode,
|
||||||
|
decode=Codec.decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
)
|
||||||
|
|
|
@ -15,6 +15,47 @@
|
||||||
def decode(input, errors='strict'):
|
def decode(input, errors='strict'):
|
||||||
return codecs.utf_16_decode(input, errors, True)
|
return codecs.utf_16_decode(input, errors, True)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def __init__(self, errors='strict'):
|
||||||
|
codecs.IncrementalEncoder.__init__(self, errors)
|
||||||
|
self.encoder = None
|
||||||
|
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
if self.encoder is None:
|
||||||
|
result = codecs.utf_16_encode(input, self.errors)[0]
|
||||||
|
if sys.byteorder == 'little':
|
||||||
|
self.encoder = codecs.utf_16_le_encode
|
||||||
|
else:
|
||||||
|
self.encoder = codecs.utf_16_be_encode
|
||||||
|
return result
|
||||||
|
return self.encoder(input, self.errors)[0]
|
||||||
|
|
||||||
|
def reset(self):
|
||||||
|
codecs.IncrementalEncoder.reset(self)
|
||||||
|
self.encoder = None
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
|
||||||
|
def __init__(self, errors='strict'):
|
||||||
|
codecs.BufferedIncrementalDecoder.__init__(self, errors)
|
||||||
|
self.decoder = None
|
||||||
|
|
||||||
|
def _buffer_decode(self, input, errors, final):
|
||||||
|
if self.decoder is None:
|
||||||
|
(output, consumed, byteorder) = \
|
||||||
|
codecs.utf_16_ex_decode(input, errors, 0, final)
|
||||||
|
if byteorder == -1:
|
||||||
|
self.decoder = codecs.utf_16_le_decode
|
||||||
|
elif byteorder == 1:
|
||||||
|
self.decoder = codecs.utf_16_be_decode
|
||||||
|
elif consumed >= 2:
|
||||||
|
raise UnicodeError("UTF-16 stream does not start with BOM")
|
||||||
|
return (output, consumed)
|
||||||
|
return self.decoder(input, self.errors, final)
|
||||||
|
|
||||||
|
def reset(self):
|
||||||
|
codecs.BufferedIncrementalDecoder.reset(self)
|
||||||
|
self.decoder = None
|
||||||
|
|
||||||
class StreamWriter(codecs.StreamWriter):
|
class StreamWriter(codecs.StreamWriter):
|
||||||
def __init__(self, stream, errors='strict'):
|
def __init__(self, stream, errors='strict'):
|
||||||
self.bom_written = False
|
self.bom_written = False
|
||||||
|
@ -52,5 +93,12 @@ def decode(self, input, errors='strict'):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (encode,decode,StreamReader,StreamWriter)
|
name='utf-16',
|
||||||
|
encode=encode,
|
||||||
|
decode=decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
|
@ -15,6 +15,13 @@
|
||||||
def decode(input, errors='strict'):
|
def decode(input, errors='strict'):
|
||||||
return codecs.utf_16_be_decode(input, errors, True)
|
return codecs.utf_16_be_decode(input, errors, True)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.utf_16_be_encode(input, self.errors)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
|
||||||
|
_buffer_decode = codecs.utf_16_be_decode
|
||||||
|
|
||||||
class StreamWriter(codecs.StreamWriter):
|
class StreamWriter(codecs.StreamWriter):
|
||||||
encode = codecs.utf_16_be_encode
|
encode = codecs.utf_16_be_encode
|
||||||
|
|
||||||
|
@ -24,5 +31,12 @@ class StreamReader(codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (encode,decode,StreamReader,StreamWriter)
|
name='utf-16-be',
|
||||||
|
encode=encode,
|
||||||
|
decode=decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
|
@ -15,15 +15,28 @@
|
||||||
def decode(input, errors='strict'):
|
def decode(input, errors='strict'):
|
||||||
return codecs.utf_16_le_decode(input, errors, True)
|
return codecs.utf_16_le_decode(input, errors, True)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.utf_16_le_encode(input, self.errors)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
|
||||||
|
_buffer_decode = codecs.utf_16_le_decode
|
||||||
|
|
||||||
class StreamWriter(codecs.StreamWriter):
|
class StreamWriter(codecs.StreamWriter):
|
||||||
encode = codecs.utf_16_le_encode
|
encode = codecs.utf_16_le_encode
|
||||||
|
|
||||||
class StreamReader(codecs.StreamReader):
|
class StreamReader(codecs.StreamReader):
|
||||||
decode = codecs.utf_16_le_decode
|
decode = codecs.utf_16_le_decode
|
||||||
|
|
||||||
|
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (encode,decode,StreamReader,StreamWriter)
|
name='utf-16-le',
|
||||||
|
encode=encode,
|
||||||
|
decode=decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
|
@ -13,6 +13,14 @@ class Codec(codecs.Codec):
|
||||||
encode = codecs.utf_7_encode
|
encode = codecs.utf_7_encode
|
||||||
decode = codecs.utf_7_decode
|
decode = codecs.utf_7_decode
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.utf_7_encode(input, self.errors)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
|
||||||
|
def _buffer_decode(self, input, errors, final):
|
||||||
|
return codecs.utf_7_decode(input, self.errors)
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -22,5 +30,12 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (Codec.encode,Codec.decode,StreamReader,StreamWriter)
|
name='utf-7',
|
||||||
|
encode=Codec.encode,
|
||||||
|
decode=Codec.decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
|
@ -15,6 +15,13 @@
|
||||||
def decode(input, errors='strict'):
|
def decode(input, errors='strict'):
|
||||||
return codecs.utf_8_decode(input, errors, True)
|
return codecs.utf_8_decode(input, errors, True)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.utf_8_encode(input, self.errors)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
|
||||||
|
_buffer_decode = codecs.utf_8_decode
|
||||||
|
|
||||||
class StreamWriter(codecs.StreamWriter):
|
class StreamWriter(codecs.StreamWriter):
|
||||||
encode = codecs.utf_8_encode
|
encode = codecs.utf_8_encode
|
||||||
|
|
||||||
|
@ -24,5 +31,12 @@ class StreamReader(codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (encode,decode,StreamReader,StreamWriter)
|
name='utf-8',
|
||||||
|
encode=encode,
|
||||||
|
decode=decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
|
@ -22,6 +22,42 @@ def decode(input, errors='strict'):
|
||||||
(output, consumed) = codecs.utf_8_decode(input, errors, True)
|
(output, consumed) = codecs.utf_8_decode(input, errors, True)
|
||||||
return (output, consumed+prefix)
|
return (output, consumed+prefix)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def __init__(self, errors='strict'):
|
||||||
|
codecs.IncrementalEncoder.__init__(self, errors)
|
||||||
|
self.first = True
|
||||||
|
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
if self.first:
|
||||||
|
self.first = False
|
||||||
|
return codecs.BOM_UTF8 + codecs.utf_8_encode(input, errors)[0]
|
||||||
|
else:
|
||||||
|
return codecs.utf_8_encode(input, errors)[0]
|
||||||
|
|
||||||
|
def reset(self):
|
||||||
|
codecs.IncrementalEncoder.reset(self)
|
||||||
|
self.first = True
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
|
||||||
|
def __init__(self, errors='strict'):
|
||||||
|
codecs.BufferedIncrementalDecoder.__init__(self, errors)
|
||||||
|
self.first = True
|
||||||
|
|
||||||
|
def _buffer_decode(self, input, errors, final):
|
||||||
|
if self.first and codecs.BOM_UTF8.startswith(input): # might be a BOM
|
||||||
|
if len(input) < 3:
|
||||||
|
# not enough data to decide if this really is a BOM
|
||||||
|
# => try again on the next call
|
||||||
|
return (u"", 0)
|
||||||
|
(output, consumed) = codecs.utf_8_decode(input[3:], errors, final)
|
||||||
|
self.first = False
|
||||||
|
return (output, consumed+3)
|
||||||
|
return codecs.utf_8_decode(input, errors, final)
|
||||||
|
|
||||||
|
def reset(self):
|
||||||
|
codecs.BufferedIncrementalDecoder.reset(self)
|
||||||
|
self.first = True
|
||||||
|
|
||||||
class StreamWriter(codecs.StreamWriter):
|
class StreamWriter(codecs.StreamWriter):
|
||||||
def reset(self):
|
def reset(self):
|
||||||
codecs.StreamWriter.reset(self)
|
codecs.StreamWriter.reset(self)
|
||||||
|
@ -53,5 +89,12 @@ def decode(self, input, errors='strict'):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (encode,decode,StreamReader,StreamWriter)
|
name='utf-8-sig',
|
||||||
|
encode=encode,
|
||||||
|
decode=decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
|
@ -96,9 +96,18 @@ class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
return uu_encode(input,errors)
|
return uu_encode(input,errors)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):
|
||||||
return uu_decode(input,errors)
|
return uu_decode(input,errors)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return uu_encode(input, errors)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
return uu_decode(input, errors)[0]
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -108,5 +117,12 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (uu_encode,uu_decode,StreamReader,StreamWriter)
|
name='uu',
|
||||||
|
encode=uu_encode,
|
||||||
|
decode=uu_decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
|
@ -50,6 +50,16 @@ def encode(self, input, errors='strict'):
|
||||||
def decode(self, input, errors='strict'):
|
def decode(self, input, errors='strict'):
|
||||||
return zlib_decode(input, errors)
|
return zlib_decode(input, errors)
|
||||||
|
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
assert self.errors == 'strict'
|
||||||
|
return zlib.compress(input)
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):
|
||||||
|
assert self.errors == 'strict'
|
||||||
|
return zlib.decompress(input)
|
||||||
|
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -59,5 +69,12 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo(
|
||||||
return (zlib_encode,zlib_decode,StreamReader,StreamWriter)
|
name='zlib',
|
||||||
|
encode=zlib_encode,
|
||||||
|
decode=zlib_decode,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
)
|
||||||
|
|
|
@ -41,6 +41,33 @@ def check_partial(self, input, partialresults):
|
||||||
self.assertEqual(r.bytebuffer, "")
|
self.assertEqual(r.bytebuffer, "")
|
||||||
self.assertEqual(r.charbuffer, u"")
|
self.assertEqual(r.charbuffer, u"")
|
||||||
|
|
||||||
|
# do the check again, this time using a incremental decoder
|
||||||
|
d = codecs.getincrementaldecoder(self.encoding)()
|
||||||
|
result = u""
|
||||||
|
for (c, partialresult) in zip(input.encode(self.encoding), partialresults):
|
||||||
|
result += d.decode(c)
|
||||||
|
self.assertEqual(result, partialresult)
|
||||||
|
# check that there's nothing left in the buffers
|
||||||
|
self.assertEqual(d.decode("", True), u"")
|
||||||
|
self.assertEqual(d.buffer, "")
|
||||||
|
|
||||||
|
# Check whether the rest method works properly
|
||||||
|
d.reset()
|
||||||
|
result = u""
|
||||||
|
for (c, partialresult) in zip(input.encode(self.encoding), partialresults):
|
||||||
|
result += d.decode(c)
|
||||||
|
self.assertEqual(result, partialresult)
|
||||||
|
# check that there's nothing left in the buffers
|
||||||
|
self.assertEqual(d.decode("", True), u"")
|
||||||
|
self.assertEqual(d.buffer, "")
|
||||||
|
|
||||||
|
# check iterdecode()
|
||||||
|
encoded = input.encode(self.encoding)
|
||||||
|
self.assertEqual(
|
||||||
|
input,
|
||||||
|
u"".join(codecs.iterdecode(encoded, self.encoding))
|
||||||
|
)
|
||||||
|
|
||||||
def test_readline(self):
|
def test_readline(self):
|
||||||
def getreader(input):
|
def getreader(input):
|
||||||
stream = StringIO.StringIO(input.encode(self.encoding))
|
stream = StringIO.StringIO(input.encode(self.encoding))
|
||||||
|
@ -977,6 +1004,12 @@ class BasicUnicodeTest(unittest.TestCase):
|
||||||
def test_basics(self):
|
def test_basics(self):
|
||||||
s = u"abc123" # all codecs should be able to encode these
|
s = u"abc123" # all codecs should be able to encode these
|
||||||
for encoding in all_unicode_encodings:
|
for encoding in all_unicode_encodings:
|
||||||
|
name = codecs.lookup(encoding).name
|
||||||
|
if encoding.endswith("_codec"):
|
||||||
|
name += "_codec"
|
||||||
|
elif encoding == "latin_1":
|
||||||
|
name = "latin_1"
|
||||||
|
self.assertEqual(encoding.replace("_", "-"), name.replace("_", "-"))
|
||||||
(bytes, size) = codecs.getencoder(encoding)(s)
|
(bytes, size) = codecs.getencoder(encoding)(s)
|
||||||
if encoding != "unicode_internal":
|
if encoding != "unicode_internal":
|
||||||
self.assertEqual(size, len(s), "%r != %r (encoding=%r)" % (size, len(s), encoding))
|
self.assertEqual(size, len(s), "%r != %r (encoding=%r)" % (size, len(s), encoding))
|
||||||
|
@ -999,6 +1032,30 @@ def test_basics(self):
|
||||||
decodedresult += reader.read()
|
decodedresult += reader.read()
|
||||||
self.assertEqual(decodedresult, s, "%r != %r (encoding=%r)" % (decodedresult, s, encoding))
|
self.assertEqual(decodedresult, s, "%r != %r (encoding=%r)" % (decodedresult, s, encoding))
|
||||||
|
|
||||||
|
# check incremental decoder/encoder and iterencode()/iterdecode()
|
||||||
|
try:
|
||||||
|
encoder = codecs.getincrementalencoder(encoding)()
|
||||||
|
except LookupError: # no IncrementalEncoder
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
# check incremental decoder/encoder
|
||||||
|
encodedresult = ""
|
||||||
|
for c in s:
|
||||||
|
encodedresult += encoder.encode(c)
|
||||||
|
decoder = codecs.getincrementaldecoder(encoding)()
|
||||||
|
decodedresult = u""
|
||||||
|
for c in encodedresult:
|
||||||
|
decodedresult += decoder.decode(c)
|
||||||
|
self.assertEqual(decodedresult, s, "%r != %r (encoding=%r)" % (decodedresult, s, encoding))
|
||||||
|
|
||||||
|
# check iterencode()/iterdecode()
|
||||||
|
result = u"".join(codecs.iterdecode(codecs.iterencode(s, encoding), encoding))
|
||||||
|
self.assertEqual(result, s, "%r != %r (encoding=%r)" % (result, s, encoding))
|
||||||
|
|
||||||
|
# check iterencode()/iterdecode() with empty string
|
||||||
|
result = u"".join(codecs.iterdecode(codecs.iterencode(u"", encoding), encoding))
|
||||||
|
self.assertEqual(result, u"")
|
||||||
|
|
||||||
def test_seek(self):
|
def test_seek(self):
|
||||||
# all codecs should be able to encode these
|
# all codecs should be able to encode these
|
||||||
s = u"%s\n%s\n" % (100*u"abc123", 100*u"def456")
|
s = u"%s\n%s\n" % (100*u"abc123", 100*u"def456")
|
||||||
|
|
|
@ -443,6 +443,12 @@ Extension Modules
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Patch #1436130: codecs.lookup() now returns a CodecInfo object (a subclass
|
||||||
|
of tuple) that provides incremental decoders and encoders (a way to use
|
||||||
|
stateful codecs without the stream API). Functions
|
||||||
|
codecs.getincrementaldecoder() and codecs.getincrementalencoder() have
|
||||||
|
been added.
|
||||||
|
|
||||||
- A regrtest option -w was added to re-run failed tests in verbose mode.
|
- A regrtest option -w was added to re-run failed tests in verbose mode.
|
||||||
|
|
||||||
- Patch #1446372: quit and exit can now be called from the interactive
|
- Patch #1446372: quit and exit can now be called from the interactive
|
||||||
|
|
|
@ -260,6 +260,56 @@ PyObject *PyCodec_Decoder(const char *encoding)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
PyObject *PyCodec_IncrementalEncoder(const char *encoding,
|
||||||
|
const char *errors)
|
||||||
|
{
|
||||||
|
PyObject *codecs, *ret, *encoder;
|
||||||
|
|
||||||
|
codecs = _PyCodec_Lookup(encoding);
|
||||||
|
if (codecs == NULL)
|
||||||
|
goto onError;
|
||||||
|
encoder = PyObject_GetAttrString(codecs, "incrementalencoder");
|
||||||
|
if (encoder == NULL) {
|
||||||
|
Py_DECREF(codecs);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
if (errors)
|
||||||
|
ret = PyObject_CallFunction(encoder, "O", errors);
|
||||||
|
else
|
||||||
|
ret = PyObject_CallFunction(encoder, NULL);
|
||||||
|
Py_DECREF(encoder);
|
||||||
|
Py_DECREF(codecs);
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
onError:
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
PyObject *PyCodec_IncrementalDecoder(const char *encoding,
|
||||||
|
const char *errors)
|
||||||
|
{
|
||||||
|
PyObject *codecs, *ret, *decoder;
|
||||||
|
|
||||||
|
codecs = _PyCodec_Lookup(encoding);
|
||||||
|
if (codecs == NULL)
|
||||||
|
goto onError;
|
||||||
|
decoder = PyObject_GetAttrString(codecs, "incrementaldecoder");
|
||||||
|
if (decoder == NULL) {
|
||||||
|
Py_DECREF(codecs);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
if (errors)
|
||||||
|
ret = PyObject_CallFunction(decoder, "O", errors);
|
||||||
|
else
|
||||||
|
ret = PyObject_CallFunction(decoder, NULL);
|
||||||
|
Py_DECREF(decoder);
|
||||||
|
Py_DECREF(codecs);
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
onError:
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
PyObject *PyCodec_StreamReader(const char *encoding,
|
PyObject *PyCodec_StreamReader(const char *encoding,
|
||||||
PyObject *stream,
|
PyObject *stream,
|
||||||
const char *errors)
|
const char *errors)
|
||||||
|
|
|
@ -44,11 +44,11 @@ windows: build/
|
||||||
$(RM) -f build/readme.*
|
$(RM) -f build/readme.*
|
||||||
|
|
||||||
iso: build/
|
iso: build/
|
||||||
$(PYTHON) gencodec.py MAPPINGS/ISO8859/ build/iso
|
$(PYTHON) gencodec.py MAPPINGS/ISO8859/ build/ iso
|
||||||
$(RM) -f build/isoreadme.*
|
$(RM) -f build/isoreadme.*
|
||||||
|
|
||||||
apple: build/
|
apple: build/
|
||||||
$(PYTHON) gencodec.py MAPPINGS/VENDORS/APPLE/ build/mac_
|
$(PYTHON) gencodec.py MAPPINGS/VENDORS/APPLE/ build/ mac_
|
||||||
$(RM) build/mac_dingbats.*
|
$(RM) build/mac_dingbats.*
|
||||||
$(RM) build/mac_japanese.*
|
$(RM) build/mac_japanese.*
|
||||||
$(RM) build/mac_chin*
|
$(RM) build/mac_chin*
|
||||||
|
|
|
@ -248,7 +248,7 @@ def python_tabledef_code(varname, map, comments=1, key_precision=2):
|
||||||
append(')')
|
append(')')
|
||||||
return l
|
return l
|
||||||
|
|
||||||
def codegen(name, map, comments=1):
|
def codegen(name, map, encodingname, comments=1):
|
||||||
|
|
||||||
""" Returns Python source for the given map.
|
""" Returns Python source for the given map.
|
||||||
|
|
||||||
|
@ -272,7 +272,7 @@ def codegen(name, map, comments=1):
|
||||||
|
|
||||||
l = [
|
l = [
|
||||||
'''\
|
'''\
|
||||||
""" Python Character Mapping Codec generated from '%s' with gencodec.py.
|
""" Python Character Mapping Codec %s generated from '%s' with gencodec.py.
|
||||||
|
|
||||||
"""#"
|
"""#"
|
||||||
|
|
||||||
|
@ -283,11 +283,9 @@ def codegen(name, map, comments=1):
|
||||||
class Codec(codecs.Codec):
|
class Codec(codecs.Codec):
|
||||||
|
|
||||||
def encode(self,input,errors='strict'):
|
def encode(self,input,errors='strict'):
|
||||||
|
|
||||||
return codecs.charmap_encode(input,errors,encoding_map)
|
return codecs.charmap_encode(input,errors,encoding_map)
|
||||||
|
|
||||||
def decode(self,input,errors='strict'):
|
def decode(self,input,errors='strict'):''' % (encodingname, name)
|
||||||
''' % name
|
|
||||||
]
|
]
|
||||||
if decoding_table_code:
|
if decoding_table_code:
|
||||||
l.append('''\
|
l.append('''\
|
||||||
|
@ -296,6 +294,20 @@ def decode(self,input,errors='strict'):
|
||||||
l.append('''\
|
l.append('''\
|
||||||
return codecs.charmap_decode(input,errors,decoding_map)''')
|
return codecs.charmap_decode(input,errors,decoding_map)''')
|
||||||
|
|
||||||
|
l.append('''
|
||||||
|
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||||
|
def encode(self, input, final=False):
|
||||||
|
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
|
||||||
|
|
||||||
|
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||||
|
def decode(self, input, final=False):''')
|
||||||
|
if decoding_table_code:
|
||||||
|
l.append('''\
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_table)[0]''')
|
||||||
|
else:
|
||||||
|
l.append('''\
|
||||||
|
return codecs.charmap_decode(input,self.errors,decoding_map)[0]''')
|
||||||
|
|
||||||
l.append('''
|
l.append('''
|
||||||
class StreamWriter(Codec,codecs.StreamWriter):
|
class StreamWriter(Codec,codecs.StreamWriter):
|
||||||
pass
|
pass
|
||||||
|
@ -306,9 +318,16 @@ class StreamReader(Codec,codecs.StreamReader):
|
||||||
### encodings module API
|
### encodings module API
|
||||||
|
|
||||||
def getregentry():
|
def getregentry():
|
||||||
|
return codecs.CodecInfo((
|
||||||
return (Codec().encode,Codec().decode,StreamReader,StreamWriter)
|
name=%r,
|
||||||
''')
|
Codec().encode,
|
||||||
|
Codec().decode,
|
||||||
|
streamwriter=StreamWriter,
|
||||||
|
streamreader=StreamReader,
|
||||||
|
incrementalencoder=IncrementalEncoder,
|
||||||
|
incrementaldecoder=IncrementalDecoder,
|
||||||
|
))
|
||||||
|
''' % encodingname.replace('_', '-'))
|
||||||
|
|
||||||
# Add decoding table or map (with preference to the table)
|
# Add decoding table or map (with preference to the table)
|
||||||
if not decoding_table_code:
|
if not decoding_table_code:
|
||||||
|
@ -331,11 +350,11 @@ def getregentry():
|
||||||
# Final new-line
|
# Final new-line
|
||||||
l.append('\n')
|
l.append('\n')
|
||||||
|
|
||||||
return '\n'.join(l)
|
return '\n'.join(l).expandtabs()
|
||||||
|
|
||||||
def pymap(name,map,pyfile,comments=1):
|
def pymap(name,map,pyfile,encodingname,comments=1):
|
||||||
|
|
||||||
code = codegen(name,map,comments)
|
code = codegen(name,map,encodingname,comments)
|
||||||
f = open(pyfile,'w')
|
f = open(pyfile,'w')
|
||||||
f.write(code)
|
f.write(code)
|
||||||
f.close()
|
f.close()
|
||||||
|
@ -349,7 +368,7 @@ def marshalmap(name,map,marshalfile):
|
||||||
marshal.dump(d,f)
|
marshal.dump(d,f)
|
||||||
f.close()
|
f.close()
|
||||||
|
|
||||||
def convertdir(dir,prefix='',comments=1):
|
def convertdir(dir, dirprefix='', nameprefix='', comments=1):
|
||||||
|
|
||||||
mapnames = os.listdir(dir)
|
mapnames = os.listdir(dir)
|
||||||
for mapname in mapnames:
|
for mapname in mapnames:
|
||||||
|
@ -360,38 +379,40 @@ def convertdir(dir,prefix='',comments=1):
|
||||||
name = name.replace('-','_')
|
name = name.replace('-','_')
|
||||||
name = name.split('.')[0]
|
name = name.split('.')[0]
|
||||||
name = name.lower()
|
name = name.lower()
|
||||||
|
name = nameprefix + name
|
||||||
codefile = name + '.py'
|
codefile = name + '.py'
|
||||||
marshalfile = name + '.mapping'
|
marshalfile = name + '.mapping'
|
||||||
print 'converting %s to %s and %s' % (mapname,
|
print 'converting %s to %s and %s' % (mapname,
|
||||||
prefix + codefile,
|
dirprefix + codefile,
|
||||||
prefix + marshalfile)
|
dirprefix + marshalfile)
|
||||||
try:
|
try:
|
||||||
map = readmap(os.path.join(dir,mapname))
|
map = readmap(os.path.join(dir,mapname))
|
||||||
if not map:
|
if not map:
|
||||||
print '* map is empty; skipping'
|
print '* map is empty; skipping'
|
||||||
else:
|
else:
|
||||||
pymap(mappathname, map, prefix + codefile,comments)
|
pymap(mappathname, map, dirprefix + codefile,name,comments)
|
||||||
marshalmap(mappathname, map, prefix + marshalfile)
|
marshalmap(mappathname, map, dirprefix + marshalfile)
|
||||||
except ValueError, why:
|
except ValueError, why:
|
||||||
print '* conversion failed: %s' % why
|
print '* conversion failed: %s' % why
|
||||||
raise
|
raise
|
||||||
|
|
||||||
def rewritepythondir(dir,prefix='',comments=1):
|
def rewritepythondir(dir, dirprefix='', comments=1):
|
||||||
|
|
||||||
mapnames = os.listdir(dir)
|
mapnames = os.listdir(dir)
|
||||||
for mapname in mapnames:
|
for mapname in mapnames:
|
||||||
if not mapname.endswith('.mapping'):
|
if not mapname.endswith('.mapping'):
|
||||||
continue
|
continue
|
||||||
codefile = mapname[:-len('.mapping')] + '.py'
|
name = mapname[:-len('.mapping')]
|
||||||
|
codefile = name + '.py'
|
||||||
print 'converting %s to %s' % (mapname,
|
print 'converting %s to %s' % (mapname,
|
||||||
prefix + codefile)
|
dirprefix + codefile)
|
||||||
try:
|
try:
|
||||||
map = marshal.load(open(os.path.join(dir,mapname),
|
map = marshal.load(open(os.path.join(dir,mapname),
|
||||||
'rb'))
|
'rb'))
|
||||||
if not map:
|
if not map:
|
||||||
print '* map is empty; skipping'
|
print '* map is empty; skipping'
|
||||||
else:
|
else:
|
||||||
pymap(mapname, map, prefix + codefile,comments)
|
pymap(mapname, map, dirprefix + codefile,name,comments)
|
||||||
except ValueError, why:
|
except ValueError, why:
|
||||||
print '* conversion failed: %s' % why
|
print '* conversion failed: %s' % why
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue