annotate CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/lib/python3.8/encodings/oem.py @ 69:33d812a61356

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 17:55:14 -0400
parents
children
rev   line source
jpayne@69 1 """ Python 'oem' Codec for Windows
jpayne@69 2
jpayne@69 3 """
jpayne@69 4 # Import them explicitly to cause an ImportError
jpayne@69 5 # on non-Windows systems
jpayne@69 6 from codecs import oem_encode, oem_decode
jpayne@69 7 # for IncrementalDecoder, IncrementalEncoder, ...
jpayne@69 8 import codecs
jpayne@69 9
jpayne@69 10 ### Codec APIs
jpayne@69 11
jpayne@69 12 encode = oem_encode
jpayne@69 13
jpayne@69 14 def decode(input, errors='strict'):
jpayne@69 15 return oem_decode(input, errors, True)
jpayne@69 16
jpayne@69 17 class IncrementalEncoder(codecs.IncrementalEncoder):
jpayne@69 18 def encode(self, input, final=False):
jpayne@69 19 return oem_encode(input, self.errors)[0]
jpayne@69 20
jpayne@69 21 class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
jpayne@69 22 _buffer_decode = oem_decode
jpayne@69 23
jpayne@69 24 class StreamWriter(codecs.StreamWriter):
jpayne@69 25 encode = oem_encode
jpayne@69 26
jpayne@69 27 class StreamReader(codecs.StreamReader):
jpayne@69 28 decode = oem_decode
jpayne@69 29
jpayne@69 30 ### encodings module API
jpayne@69 31
jpayne@69 32 def getregentry():
jpayne@69 33 return codecs.CodecInfo(
jpayne@69 34 name='oem',
jpayne@69 35 encode=encode,
jpayne@69 36 decode=decode,
jpayne@69 37 incrementalencoder=IncrementalEncoder,
jpayne@69 38 incrementaldecoder=IncrementalDecoder,
jpayne@69 39 streamreader=StreamReader,
jpayne@69 40 streamwriter=StreamWriter,
jpayne@69 41 )