1 """ Python 'undefined' Codec 2 3 This codec will always raise a ValueError exception when being 4 used. It is intended for use by the site.py file to switch off 5 automatic string to Unicode coercion. 6 7 Written by Marc-Andre Lemburg (mal (at] lemburg.com). 8 9 (c) Copyright CNRI, All Rights Reserved. NO WARRANTY. 10 11 """ 12 import codecs 13 14 ### Codec APIs 15 16 class Codec(codecs.Codec): 17 18 def encode(self,input,errors='strict'): 19 raise UnicodeError("undefined encoding") 20 21 def decode(self,input,errors='strict'): 22 raise UnicodeError("undefined encoding") 23 24 class IncrementalEncoder(codecs.IncrementalEncoder): 25 def encode(self, input, final=False): 26 raise UnicodeError("undefined encoding") 27 28 class IncrementalDecoder(codecs.IncrementalDecoder): 29 def decode(self, input, final=False): 30 raise UnicodeError("undefined encoding") 31 32 class StreamWriter(Codec,codecs.StreamWriter): 33 pass 34 35 class StreamReader(Codec,codecs.StreamReader): 36 pass 37 38 ### encodings module API 39 40 def getregentry(): 41 return codecs.CodecInfo( 42 name='undefined', 43 encode=Codec().encode, 44 decode=Codec().decode, 45 incrementalencoder=IncrementalEncoder, 46 incrementaldecoder=IncrementalDecoder, 47 streamwriter=StreamWriter, 48 streamreader=StreamReader, 49 ) 50