]>
jfr.im git - dlqueue.git/blob - venv/lib/python3.11/site-packages/pip/_vendor/webencodings/x_user_defined.py
4 webencodings.x_user_defined
5 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
7 An implementation of the x-user-defined encoding.
9 :copyright: Copyright 2012 by Simon Sapin
10 :license: BSD, see LICENSE for details.
14 from __future__
import unicode_literals
21 class Codec(codecs
.Codec
):
23 def encode(self
, input, errors
='strict'):
24 return codecs
.charmap_encode(input, errors
, encoding_table
)
26 def decode(self
, input, errors
='strict'):
27 return codecs
.charmap_decode(input, errors
, decoding_table
)
30 class IncrementalEncoder(codecs
.IncrementalEncoder
):
31 def encode(self
, input, final
=False):
32 return codecs
.charmap_encode(input, self
.errors
, encoding_table
)[0]
35 class IncrementalDecoder(codecs
.IncrementalDecoder
):
36 def decode(self
, input, final
=False):
37 return codecs
.charmap_decode(input, self
.errors
, decoding_table
)[0]
40 class StreamWriter(Codec
, codecs
.StreamWriter
):
44 class StreamReader(Codec
, codecs
.StreamReader
):
48 ### encodings module API
50 codec_info
= codecs
.CodecInfo(
51 name
='x-user-defined',
52 encode
=Codec().encode
,
53 decode
=Codec().decode
,
54 incrementalencoder
=IncrementalEncoder
,
55 incrementaldecoder
=IncrementalDecoder
,
56 streamreader
=StreamReader
,
57 streamwriter
=StreamWriter
,
64 # for c in range(256): print(' %r' % chr(c if c < 128 else c + 0xF700))
325 encoding_table
= codecs
.charmap_build(decoding_table
)