| Last change
 on this file since 392 was             2, checked in by Yuri Dario, 15 years ago | 
        
          | 
Initial import for vendor code.
 | 
        
          | 
              
Property                 svn:eol-style
 set to                 native | 
        
          | File size:
            1.0 KB | 
      
      
| Line |  | 
|---|
| 1 | """ Test Codecs (used by test_charmapcodec) | 
|---|
| 2 |  | 
|---|
| 3 | Written by Marc-Andre Lemburg (mal@lemburg.com). | 
|---|
| 4 |  | 
|---|
| 5 | (c) Copyright 2000 Guido van Rossum. | 
|---|
| 6 |  | 
|---|
| 7 | """#" | 
|---|
| 8 | import codecs | 
|---|
| 9 |  | 
|---|
| 10 | ### Codec APIs | 
|---|
| 11 |  | 
|---|
| 12 | class Codec(codecs.Codec): | 
|---|
| 13 |  | 
|---|
| 14 | def encode(self,input,errors='strict'): | 
|---|
| 15 |  | 
|---|
| 16 | return codecs.charmap_encode(input,errors,encoding_map) | 
|---|
| 17 |  | 
|---|
| 18 | def decode(self,input,errors='strict'): | 
|---|
| 19 |  | 
|---|
| 20 | return codecs.charmap_decode(input,errors,decoding_map) | 
|---|
| 21 |  | 
|---|
| 22 | class StreamWriter(Codec,codecs.StreamWriter): | 
|---|
| 23 | pass | 
|---|
| 24 |  | 
|---|
| 25 | class StreamReader(Codec,codecs.StreamReader): | 
|---|
| 26 | pass | 
|---|
| 27 |  | 
|---|
| 28 | ### encodings module API | 
|---|
| 29 |  | 
|---|
| 30 | def getregentry(): | 
|---|
| 31 |  | 
|---|
| 32 | return (Codec().encode,Codec().decode,StreamReader,StreamWriter) | 
|---|
| 33 |  | 
|---|
| 34 | ### Decoding Map | 
|---|
| 35 |  | 
|---|
| 36 | decoding_map = codecs.make_identity_dict(range(256)) | 
|---|
| 37 | decoding_map.update({ | 
|---|
| 38 | 0x78: u"abc", # 1-n decoding mapping | 
|---|
| 39 | "abc": 0x0078,# 1-n encoding mapping | 
|---|
| 40 | 0x01: None,   # decoding mapping to <undefined> | 
|---|
| 41 | 0x79: u"",    # decoding mapping to <remove character> | 
|---|
| 42 | }) | 
|---|
| 43 |  | 
|---|
| 44 | ### Encoding Map | 
|---|
| 45 |  | 
|---|
| 46 | encoding_map = {} | 
|---|
| 47 | for k,v in decoding_map.items(): | 
|---|
| 48 | encoding_map[v] = k | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.