~ubuntu-branches/ubuntu/maverick/python3.1/maverick

« back to all changes in this revision

Viewing changes to Lib/encodings/mbcs.py

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2009-03-23 00:01:27 UTC
  • Revision ID: james.westby@ubuntu.com-20090323000127-5fstfxju4ufrhthq
Tags: upstream-3.1~a1+20090322
ImportĀ upstreamĀ versionĀ 3.1~a1+20090322

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
""" Python 'mbcs' Codec for Windows
 
2
 
 
3
 
 
4
Cloned by Mark Hammond (mhammond@skippinet.com.au) from ascii.py,
 
5
which was written by Marc-Andre Lemburg (mal@lemburg.com).
 
6
 
 
7
(c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
 
8
 
 
9
"""
 
10
# Import them explicitly to cause an ImportError
 
11
# on non-Windows systems
 
12
from codecs import mbcs_encode, mbcs_decode
 
13
# for IncrementalDecoder, IncrementalEncoder, ...
 
14
import codecs
 
15
 
 
16
### Codec APIs
 
17
 
 
18
encode = mbcs_encode
 
19
 
 
20
def decode(input, errors='strict'):
 
21
    return mbcs_decode(input, errors, True)
 
22
 
 
23
class IncrementalEncoder(codecs.IncrementalEncoder):
 
24
    def encode(self, input, final=False):
 
25
        return mbcs_encode(input, self.errors)[0]
 
26
 
 
27
class IncrementalDecoder(codecs.BufferedIncrementalDecoder):
 
28
    _buffer_decode = mbcs_decode
 
29
 
 
30
class StreamWriter(codecs.StreamWriter):
 
31
    encode = mbcs_encode
 
32
 
 
33
class StreamReader(codecs.StreamReader):
 
34
    decode = mbcs_decode
 
35
 
 
36
### encodings module API
 
37
 
 
38
def getregentry():
 
39
    return codecs.CodecInfo(
 
40
        name='mbcs',
 
41
        encode=encode,
 
42
        decode=decode,
 
43
        incrementalencoder=IncrementalEncoder,
 
44
        incrementaldecoder=IncrementalDecoder,
 
45
        streamreader=StreamReader,
 
46
        streamwriter=StreamWriter,
 
47
    )