Mercurial > repos > yating-l > jbrowsearchivecreator
annotate test/lib/python2.7/encodings/utf_32.py @ 3:7d1a9a91b989 draft
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
| author | yating-l | 
|---|---|
| date | Thu, 18 May 2017 18:37:28 -0400 | 
| parents | |
| children | 
| rev | line source | 
|---|---|
| 3 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 1 """ | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 2 Python 'utf-32' Codec | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 3 """ | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 4 import codecs, sys | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 5 | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 6 ### Codec APIs | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 7 | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 8 encode = codecs.utf_32_encode | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 9 | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 10 def decode(input, errors='strict'): | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 11 return codecs.utf_32_decode(input, errors, True) | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 12 | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 13 class IncrementalEncoder(codecs.IncrementalEncoder): | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 14 def __init__(self, errors='strict'): | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 15 codecs.IncrementalEncoder.__init__(self, errors) | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 16 self.encoder = None | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 17 | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 18 def encode(self, input, final=False): | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 19 if self.encoder is None: | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 20 result = codecs.utf_32_encode(input, self.errors)[0] | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 21 if sys.byteorder == 'little': | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 22 self.encoder = codecs.utf_32_le_encode | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 23 else: | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 24 self.encoder = codecs.utf_32_be_encode | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 25 return result | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 26 return self.encoder(input, self.errors)[0] | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 27 | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 28 def reset(self): | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 29 codecs.IncrementalEncoder.reset(self) | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 30 self.encoder = None | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 31 | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 32 def getstate(self): | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 33 # state info we return to the caller: | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 34 # 0: stream is in natural order for this platform | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 35 # 2: endianness hasn't been determined yet | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 36 # (we're never writing in unnatural order) | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 37 return (2 if self.encoder is None else 0) | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 38 | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 39 def setstate(self, state): | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 40 if state: | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 41 self.encoder = None | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 42 else: | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 43 if sys.byteorder == 'little': | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 44 self.encoder = codecs.utf_32_le_encode | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 45 else: | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 46 self.encoder = codecs.utf_32_be_encode | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 47 | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 48 class IncrementalDecoder(codecs.BufferedIncrementalDecoder): | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 49 def __init__(self, errors='strict'): | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 50 codecs.BufferedIncrementalDecoder.__init__(self, errors) | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 51 self.decoder = None | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 52 | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 53 def _buffer_decode(self, input, errors, final): | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 54 if self.decoder is None: | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 55 (output, consumed, byteorder) = \ | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 56 codecs.utf_32_ex_decode(input, errors, 0, final) | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 57 if byteorder == -1: | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 58 self.decoder = codecs.utf_32_le_decode | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 59 elif byteorder == 1: | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 60 self.decoder = codecs.utf_32_be_decode | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 61 elif consumed >= 4: | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 62 raise UnicodeError("UTF-32 stream does not start with BOM") | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 63 return (output, consumed) | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 64 return self.decoder(input, self.errors, final) | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 65 | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 66 def reset(self): | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 67 codecs.BufferedIncrementalDecoder.reset(self) | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 68 self.decoder = None | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 69 | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 70 def getstate(self): | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 71 # additional state info from the base class must be None here, | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 72 # as it isn't passed along to the caller | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 73 state = codecs.BufferedIncrementalDecoder.getstate(self)[0] | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 74 # additional state info we pass to the caller: | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 75 # 0: stream is in natural order for this platform | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 76 # 1: stream is in unnatural order | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 77 # 2: endianness hasn't been determined yet | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 78 if self.decoder is None: | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 79 return (state, 2) | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 80 addstate = int((sys.byteorder == "big") != | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 81 (self.decoder is codecs.utf_32_be_decode)) | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 82 return (state, addstate) | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 83 | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 84 def setstate(self, state): | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 85 # state[1] will be ignored by BufferedIncrementalDecoder.setstate() | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 86 codecs.BufferedIncrementalDecoder.setstate(self, state) | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 87 state = state[1] | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 88 if state == 0: | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 89 self.decoder = (codecs.utf_32_be_decode | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 90 if sys.byteorder == "big" | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 91 else codecs.utf_32_le_decode) | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 92 elif state == 1: | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 93 self.decoder = (codecs.utf_32_le_decode | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 94 if sys.byteorder == "big" | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 95 else codecs.utf_32_be_decode) | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 96 else: | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 97 self.decoder = None | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 98 | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 99 class StreamWriter(codecs.StreamWriter): | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 100 def __init__(self, stream, errors='strict'): | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 101 self.encoder = None | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 102 codecs.StreamWriter.__init__(self, stream, errors) | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 103 | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 104 def reset(self): | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 105 codecs.StreamWriter.reset(self) | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 106 self.encoder = None | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 107 | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 108 def encode(self, input, errors='strict'): | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 109 if self.encoder is None: | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 110 result = codecs.utf_32_encode(input, errors) | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 111 if sys.byteorder == 'little': | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 112 self.encoder = codecs.utf_32_le_encode | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 113 else: | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 114 self.encoder = codecs.utf_32_be_encode | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 115 return result | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 116 else: | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 117 return self.encoder(input, errors) | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 118 | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 119 class StreamReader(codecs.StreamReader): | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 120 | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 121 def reset(self): | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 122 codecs.StreamReader.reset(self) | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 123 try: | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 124 del self.decode | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 125 except AttributeError: | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 126 pass | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 127 | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 128 def decode(self, input, errors='strict'): | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 129 (object, consumed, byteorder) = \ | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 130 codecs.utf_32_ex_decode(input, errors, 0, False) | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 131 if byteorder == -1: | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 132 self.decode = codecs.utf_32_le_decode | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 133 elif byteorder == 1: | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 134 self.decode = codecs.utf_32_be_decode | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 135 elif consumed>=4: | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 136 raise UnicodeError,"UTF-32 stream does not start with BOM" | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 137 return (object, consumed) | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 138 | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 139 ### encodings module API | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 140 | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 141 def getregentry(): | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 142 return codecs.CodecInfo( | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 143 name='utf-32', | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 144 encode=encode, | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 145 decode=decode, | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 146 incrementalencoder=IncrementalEncoder, | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 147 incrementaldecoder=IncrementalDecoder, | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 148 streamreader=StreamReader, | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 149 streamwriter=StreamWriter, | 
| 
7d1a9a91b989
planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
 yating-l parents: diff
changeset | 150 ) | 
