mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 23:21:29 +00:00 
			
		
		
		
	
		
			
	
	
		
			42 lines
		
	
	
	
		
			1,019 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			42 lines
		
	
	
	
		
			1,019 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| 
								 | 
							
								""" 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,
							 | 
						||
| 
								 | 
							
								    )
							 |