1 """ Python 'oem' Codec for Windows
2
3 """
4 # Import them explicitly to cause an ImportError
5 # on non-Windows systems
6 from codecs import oem_encode, oem_decode
7 # for IncrementalDecoder, IncrementalEncoder, ...
8 import codecs
9
10 ### Codec APIs
11
12 encode = oem_encode
13
14 def decode(input, errors='strict'):
15 return oem_decode(input, errors, True)
16
17 class ESC[4;38;5;81mIncrementalEncoder(ESC[4;38;5;149mcodecsESC[4;38;5;149m.ESC[4;38;5;149mIncrementalEncoder):
18 def encode(self, input, final=False):
19 return oem_encode(input, self.errors)[0]
20
21 class ESC[4;38;5;81mIncrementalDecoder(ESC[4;38;5;149mcodecsESC[4;38;5;149m.ESC[4;38;5;149mBufferedIncrementalDecoder):
22 _buffer_decode = oem_decode
23
24 class ESC[4;38;5;81mStreamWriter(ESC[4;38;5;149mcodecsESC[4;38;5;149m.ESC[4;38;5;149mStreamWriter):
25 encode = oem_encode
26
27 class ESC[4;38;5;81mStreamReader(ESC[4;38;5;149mcodecsESC[4;38;5;149m.ESC[4;38;5;149mStreamReader):
28 decode = oem_decode
29
30 ### encodings module API
31
32 def getregentry():
33 return codecs.CodecInfo(
34 name='oem',
35 encode=encode,
36 decode=decode,
37 incrementalencoder=IncrementalEncoder,
38 incrementaldecoder=IncrementalDecoder,
39 streamreader=StreamReader,
40 streamwriter=StreamWriter,
41 )