1""" 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    )
50