annotate test/lib/python2.7/encodings/quopri_codec.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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 """Codec for quoted-printable encoding.
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
2
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
3 Like base64 and rot13, this returns Python strings, not Unicode.
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
4 """
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 import codecs, quopri
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
7 try:
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
8 from cStringIO import StringIO
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
9 except ImportError:
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
10 from StringIO import StringIO
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
11
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
12 def quopri_encode(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
13 """Encode the input, returning a tuple (output object, length consumed).
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
14
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
15 errors defines the error handling to apply. It defaults to
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
16 'strict' handling which is the only currently supported
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
17 error handling for this codec.
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
18
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
19 """
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
20 assert errors == 'strict'
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
21 # using str() because of cStringIO's Unicode undesired Unicode behavior.
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
22 f = StringIO(str(input))
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
23 g = StringIO()
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
24 quopri.encode(f, g, quotetabs=True)
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
25 output = g.getvalue()
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
26 return (output, len(input))
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 quopri_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
29 """Decode the input, returning a tuple (output object, length consumed).
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
30
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
31 errors defines the error handling to apply. It defaults to
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
32 'strict' handling which is the only currently supported
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
33 error handling for this codec.
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
34
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
35 """
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
36 assert errors == 'strict'
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
37 f = StringIO(str(input))
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
38 g = StringIO()
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
39 quopri.decode(f, g)
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
40 output = g.getvalue()
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
41 return (output, len(input))
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
42
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
43 class Codec(codecs.Codec):
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
44
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
45 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
46 return quopri_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
47 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
48 return quopri_decode(input,errors)
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
49
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
50 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
51 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
52 return quopri_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
53
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
54 class IncrementalDecoder(codecs.IncrementalDecoder):
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
55 def decode(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
56 return quopri_decode(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
57
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
58 class StreamWriter(Codec, codecs.StreamWriter):
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
59 pass
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
60
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
61 class StreamReader(Codec,codecs.StreamReader):
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
62 pass
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
63
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
64 # 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
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 getregentry():
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
67 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
68 name='quopri',
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
69 encode=quopri_encode,
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
70 decode=quopri_decode,
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
71 incrementalencoder=IncrementalEncoder,
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
72 incrementaldecoder=IncrementalDecoder,
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
73 streamwriter=StreamWriter,
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
74 streamreader=StreamReader,
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
75 _is_text_encoding=False,
7d1a9a91b989 planemo upload for repository https://github.com/Yating-L/jbrowse-archive-creator.git commit d583ac16a6c6942730ea536eb59cc37941816030-dirty
yating-l
parents:
diff changeset
76 )