mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
Issue #27959: Adds oem encoding, alias ansi to mbcs, move aliasmbcs to codec lookup
This commit is contained in:
parent
22d0698d3b
commit
f5aba58480
8 changed files with 198 additions and 51 deletions
41
Lib/encodings/oem.py
Normal file
41
Lib/encodings/oem.py
Normal file
|
@ -0,0 +1,41 @@
|
|||
""" Python 'oem' Codec for Windows
|
||||
|
||||
"""
|
||||
# Import them explicitly to cause an ImportError
|
||||
# on non-Windows systems
|
||||
from codecs import oem_encode, oem_decode
|
||||
# for IncrementalDecoder, IncrementalEncoder, ...
|
||||
import codecs
|
||||
|
||||
### Codec APIs
|
||||
|
||||
encode = oem_encode
|
||||
|
||||
def decode(input, errors='strict'):
|
||||
return oem_decode(input, errors, True)
|
||||
|
||||
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||
def encode(self, input, final=False):
|
||||
return oem_encode(input, self.errors)[0]
|
||||
|
||||
class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
|
||||
_buffer_decode = oem_decode
|
||||
|
||||
class StreamWriter(codecs.StreamWriter):
|
||||
encode = oem_encode
|
||||
|
||||
class StreamReader(codecs.StreamReader):
|
||||
decode = oem_decode
|
||||
|
||||
### encodings module API
|
||||
|
||||
def getregentry():
|
||||
return codecs.CodecInfo(
|
||||
name='oem',
|
||||
encode=encode,
|
||||
decode=decode,
|
||||
incrementalencoder=IncrementalEncoder,
|
||||
incrementaldecoder=IncrementalDecoder,
|
||||
streamreader=StreamReader,
|
||||
streamwriter=StreamWriter,
|
||||
)
|
Loading…
Add table
Add a link
Reference in a new issue