blob: 14db973af7dbfdc0d9cd34d1363d332c5e7fc621 [file] [log] [blame]
Guido van Rossum1abd82c2000-03-28 01:58:50 +00001""" Python 'mbcs' Codec for Windows
2
3
4Cloned by Mark Hammond (mhammond@skippinet.com.au) from ascii.py,
5which was written by Marc-Andre Lemburg (mal@lemburg.com).
6
7(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
8
9"""
10import codecs
11
12### Codec APIs
13
14class Codec(codecs.Codec):
15
16 # Note: Binding these as C functions will result in the class not
17 # converting them to methods. This is intended.
18 encode = codecs.mbcs_encode
19 decode = codecs.mbcs_decode
20
Walter Dörwaldabb02e52006-03-15 11:35:15 +000021class IncrementalEncoder(codecs.IncrementalEncoder):
22 def encode(self, input, final=False):
23 return codecs.mbs_encode(input,self.errors)[0]
24
25class IncrementalDecoder(codecs.IncrementalDecoder):
26 def decode(self, input, final=False):
27 return codecs.mbs_decode(input,self.errors)[0]
Guido van Rossum1abd82c2000-03-28 01:58:50 +000028class StreamWriter(Codec,codecs.StreamWriter):
29 pass
Tim Peters469cdad2002-08-08 20:19:19 +000030
Guido van Rossum1abd82c2000-03-28 01:58:50 +000031class StreamReader(Codec,codecs.StreamReader):
32 pass
33
34class StreamConverter(StreamWriter,StreamReader):
35
36 encode = codecs.mbcs_decode
37 decode = codecs.mbcs_encode
38
39### encodings module API
40
41def getregentry():
Walter Dörwaldabb02e52006-03-15 11:35:15 +000042 return codecs.CodecInfo(
43 name='mbcs',
44 encode=Codec.encode,
45 decode=Codec.decode,
46 incrementalencoder=IncrementalEncoder,
47 incrementaldecoder=IncrementalDecoder,
48 streamreader=StreamReader,
49 streamwriter=StreamWriter,
50 )