blob: 4690288355c710bc227c0990fb37f36e23186ea1 [file] [log] [blame]
Olivier Deprezf4ef2d02021-04-20 13:36:24 +02001""" Python 'undefined' Codec
2
3 This codec will always raise a ValueError exception when being
4 used. It is intended for use by the site.py file to switch off
5 automatic string to Unicode coercion.
6
7Written by Marc-Andre Lemburg (mal@lemburg.com).
8
9(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
10
11"""
12import codecs
13
14### Codec APIs
15
16class Codec(codecs.Codec):
17
18 def encode(self,input,errors='strict'):
19 raise UnicodeError("undefined encoding")
20
21 def decode(self,input,errors='strict'):
22 raise UnicodeError("undefined encoding")
23
24class IncrementalEncoder(codecs.IncrementalEncoder):
25 def encode(self, input, final=False):
26 raise UnicodeError("undefined encoding")
27
28class IncrementalDecoder(codecs.IncrementalDecoder):
29 def decode(self, input, final=False):
30 raise UnicodeError("undefined encoding")
31
32class StreamWriter(Codec,codecs.StreamWriter):
33 pass
34
35class StreamReader(Codec,codecs.StreamReader):
36 pass
37
38### encodings module API
39
40def getregentry():
41 return codecs.CodecInfo(
42 name='undefined',
43 encode=Codec().encode,
44 decode=Codec().decode,
45 incrementalencoder=IncrementalEncoder,
46 incrementaldecoder=IncrementalDecoder,
47 streamwriter=StreamWriter,
48 streamreader=StreamReader,
49 )