generated from mwc/lab_compression
	
		
			
				
	
	
		
			18 lines
		
	
	
		
			479 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			479 B
		
	
	
	
		
			Python
		
	
	
	
	
	
import codecs
 | 
						|
 | 
						|
def register_codec(encode, decode, name):
 | 
						|
    """Registers a codec so that it can later be used to encode
 | 
						|
    or decode strings and bytes.
 | 
						|
    """
 | 
						|
    def encode_wrapper(text):
 | 
						|
        return encode(text), len(text)
 | 
						|
 | 
						|
    def decode_wrapper(data):
 | 
						|
        return decode(data), len(data)
 | 
						|
 | 
						|
    def search_for_codec(query):
 | 
						|
        if query == name:
 | 
						|
            return codecs.CodecInfo(encode_wrapper, decode_wrapper, name=name)
 | 
						|
 | 
						|
    codecs.register(search_for_codec)
 |