Mercurial > repos > rliterman > csp2
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 ) |