diff options
| author | thegeorg <[email protected]> | 2024-02-19 02:38:52 +0300 | 
|---|---|---|
| committer | thegeorg <[email protected]> | 2024-02-19 02:50:43 +0300 | 
| commit | d96fa07134c06472bfee6718b5cfd1679196fc99 (patch) | |
| tree | 31ec344fa9d3ff8dc038692516b6438dfbdb8a2d /contrib/tools/python3/Lib/encodings/raw_unicode_escape.py | |
| parent | 452cf9e068aef7110e35e654c5d47eb80111ef89 (diff) | |
Sync contrib/tools/python3 layout with upstream
* Move src/ subdir contents to the top of the layout
* Rename self-written lib -> lib2 to avoid CaseFolding warning from the VCS
* Regenerate contrib/libs/python proxy-headers accordingly
4ccc62ac1511abcf0fed14ccade38e984e088f1e
Diffstat (limited to 'contrib/tools/python3/Lib/encodings/raw_unicode_escape.py')
| -rw-r--r-- | contrib/tools/python3/Lib/encodings/raw_unicode_escape.py | 46 | 
1 files changed, 46 insertions, 0 deletions
| diff --git a/contrib/tools/python3/Lib/encodings/raw_unicode_escape.py b/contrib/tools/python3/Lib/encodings/raw_unicode_escape.py new file mode 100644 index 00000000000..46c8e070dd1 --- /dev/null +++ b/contrib/tools/python3/Lib/encodings/raw_unicode_escape.py @@ -0,0 +1,46 @@ +""" Python 'raw-unicode-escape' Codec + + +Written by Marc-Andre Lemburg ([email protected]). + +(c) Copyright CNRI, All Rights Reserved. NO WARRANTY. + +""" +import codecs + +### Codec APIs + +class Codec(codecs.Codec): + +    # Note: Binding these as C functions will result in the class not +    # converting them to methods. This is intended. +    encode = codecs.raw_unicode_escape_encode +    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.BufferedIncrementalDecoder): +    def _buffer_decode(self, input, errors, final): +        return codecs.raw_unicode_escape_decode(input, errors, final) + +class StreamWriter(Codec,codecs.StreamWriter): +    pass + +class StreamReader(Codec,codecs.StreamReader): +    def decode(self, input, errors='strict'): +        return codecs.raw_unicode_escape_decode(input, errors, False) + +### encodings module API + +def getregentry(): +    return codecs.CodecInfo( +        name='raw-unicode-escape', +        encode=Codec.encode, +        decode=Codec.decode, +        incrementalencoder=IncrementalEncoder, +        incrementaldecoder=IncrementalDecoder, +        streamwriter=StreamWriter, +        streamreader=StreamReader, +    ) | 
