openmedialibrary_platform_d.../lib/python3.7/encodings/oem.py

41 lines
1,019 B
Python
Raw Normal View History

2019-01-01 00:25:26 +01:00
""" Python 'oem' Codec for Windows
2016-02-06 15:06:57 +05:30
"""
# Import them explicitly to cause an ImportError
# on non-Windows systems
2019-01-01 00:25:26 +01:00
from codecs import oem_encode, oem_decode
2016-02-06 15:06:57 +05:30
# for IncrementalDecoder, IncrementalEncoder, ...
import codecs
### Codec APIs
2019-01-01 00:25:26 +01:00
encode = oem_encode
2016-02-06 15:06:57 +05:30
def decode(input, errors='strict'):
2019-01-01 00:25:26 +01:00
return oem_decode(input, errors, True)
2016-02-06 15:06:57 +05:30
class IncrementalEncoder(codecs.IncrementalEncoder):
def encode(self, input, final=False):
2019-01-01 00:25:26 +01:00
return oem_encode(input, self.errors)[0]
2016-02-06 15:06:57 +05:30
class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
2019-01-01 00:25:26 +01:00
_buffer_decode = oem_decode
2016-02-06 15:06:57 +05:30
class StreamWriter(codecs.StreamWriter):
2019-01-01 00:25:26 +01:00
encode = oem_encode
2016-02-06 15:06:57 +05:30
class StreamReader(codecs.StreamReader):
2019-01-01 00:25:26 +01:00
decode = oem_decode
2016-02-06 15:06:57 +05:30
### encodings module API
def getregentry():
return codecs.CodecInfo(
2019-01-01 00:25:26 +01:00
name='oem',
2016-02-06 15:06:57 +05:30
encode=encode,
decode=decode,
incrementalencoder=IncrementalEncoder,
incrementaldecoder=IncrementalDecoder,
streamreader=StreamReader,
streamwriter=StreamWriter,
)