comparison env/lib/python3.9/site-packages/webencodings/x_user_defined.py @ 0:4f3585e2f14b draft default tip

"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author shellac
date Mon, 22 Mar 2021 18:12:50 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4f3585e2f14b
1 # coding: utf-8
2 """
3
4 webencodings.x_user_defined
5 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
6
7 An implementation of the x-user-defined encoding.
8
9 :copyright: Copyright 2012 by Simon Sapin
10 :license: BSD, see LICENSE for details.
11
12 """
13
14 from __future__ import unicode_literals
15
16 import codecs
17
18
19 ### Codec APIs
20
21 class Codec(codecs.Codec):
22
23 def encode(self, input, errors='strict'):
24 return codecs.charmap_encode(input, errors, encoding_table)
25
26 def decode(self, input, errors='strict'):
27 return codecs.charmap_decode(input, errors, decoding_table)
28
29
30 class IncrementalEncoder(codecs.IncrementalEncoder):
31 def encode(self, input, final=False):
32 return codecs.charmap_encode(input, self.errors, encoding_table)[0]
33
34
35 class IncrementalDecoder(codecs.IncrementalDecoder):
36 def decode(self, input, final=False):
37 return codecs.charmap_decode(input, self.errors, decoding_table)[0]
38
39
40 class StreamWriter(Codec, codecs.StreamWriter):
41 pass
42
43
44 class StreamReader(Codec, codecs.StreamReader):
45 pass
46
47
48 ### encodings module API
49
50 codec_info = codecs.CodecInfo(
51 name='x-user-defined',
52 encode=Codec().encode,
53 decode=Codec().decode,
54 incrementalencoder=IncrementalEncoder,
55 incrementaldecoder=IncrementalDecoder,
56 streamreader=StreamReader,
57 streamwriter=StreamWriter,
58 )
59
60
61 ### Decoding Table
62
63 # Python 3:
64 # for c in range(256): print(' %r' % chr(c if c < 128 else c + 0xF700))
65 decoding_table = (
66 '\x00'
67 '\x01'
68 '\x02'
69 '\x03'
70 '\x04'
71 '\x05'
72 '\x06'
73 '\x07'
74 '\x08'
75 '\t'
76 '\n'
77 '\x0b'
78 '\x0c'
79 '\r'
80 '\x0e'
81 '\x0f'
82 '\x10'
83 '\x11'
84 '\x12'
85 '\x13'
86 '\x14'
87 '\x15'
88 '\x16'
89 '\x17'
90 '\x18'
91 '\x19'
92 '\x1a'
93 '\x1b'
94 '\x1c'
95 '\x1d'
96 '\x1e'
97 '\x1f'
98 ' '
99 '!'
100 '"'
101 '#'
102 '$'
103 '%'
104 '&'
105 "'"
106 '('
107 ')'
108 '*'
109 '+'
110 ','
111 '-'
112 '.'
113 '/'
114 '0'
115 '1'
116 '2'
117 '3'
118 '4'
119 '5'
120 '6'
121 '7'
122 '8'
123 '9'
124 ':'
125 ';'
126 '<'
127 '='
128 '>'
129 '?'
130 '@'
131 'A'
132 'B'
133 'C'
134 'D'
135 'E'
136 'F'
137 'G'
138 'H'
139 'I'
140 'J'
141 'K'
142 'L'
143 'M'
144 'N'
145 'O'
146 'P'
147 'Q'
148 'R'
149 'S'
150 'T'
151 'U'
152 'V'
153 'W'
154 'X'
155 'Y'
156 'Z'
157 '['
158 '\\'
159 ']'
160 '^'
161 '_'
162 '`'
163 'a'
164 'b'
165 'c'
166 'd'
167 'e'
168 'f'
169 'g'
170 'h'
171 'i'
172 'j'
173 'k'
174 'l'
175 'm'
176 'n'
177 'o'
178 'p'
179 'q'
180 'r'
181 's'
182 't'
183 'u'
184 'v'
185 'w'
186 'x'
187 'y'
188 'z'
189 '{'
190 '|'
191 '}'
192 '~'
193 '\x7f'
194 '\uf780'
195 '\uf781'
196 '\uf782'
197 '\uf783'
198 '\uf784'
199 '\uf785'
200 '\uf786'
201 '\uf787'
202 '\uf788'
203 '\uf789'
204 '\uf78a'
205 '\uf78b'
206 '\uf78c'
207 '\uf78d'
208 '\uf78e'
209 '\uf78f'
210 '\uf790'
211 '\uf791'
212 '\uf792'
213 '\uf793'
214 '\uf794'
215 '\uf795'
216 '\uf796'
217 '\uf797'
218 '\uf798'
219 '\uf799'
220 '\uf79a'
221 '\uf79b'
222 '\uf79c'
223 '\uf79d'
224 '\uf79e'
225 '\uf79f'
226 '\uf7a0'
227 '\uf7a1'
228 '\uf7a2'
229 '\uf7a3'
230 '\uf7a4'
231 '\uf7a5'
232 '\uf7a6'
233 '\uf7a7'
234 '\uf7a8'
235 '\uf7a9'
236 '\uf7aa'
237 '\uf7ab'
238 '\uf7ac'
239 '\uf7ad'
240 '\uf7ae'
241 '\uf7af'
242 '\uf7b0'
243 '\uf7b1'
244 '\uf7b2'
245 '\uf7b3'
246 '\uf7b4'
247 '\uf7b5'
248 '\uf7b6'
249 '\uf7b7'
250 '\uf7b8'
251 '\uf7b9'
252 '\uf7ba'
253 '\uf7bb'
254 '\uf7bc'
255 '\uf7bd'
256 '\uf7be'
257 '\uf7bf'
258 '\uf7c0'
259 '\uf7c1'
260 '\uf7c2'
261 '\uf7c3'
262 '\uf7c4'
263 '\uf7c5'
264 '\uf7c6'
265 '\uf7c7'
266 '\uf7c8'
267 '\uf7c9'
268 '\uf7ca'
269 '\uf7cb'
270 '\uf7cc'
271 '\uf7cd'
272 '\uf7ce'
273 '\uf7cf'
274 '\uf7d0'
275 '\uf7d1'
276 '\uf7d2'
277 '\uf7d3'
278 '\uf7d4'
279 '\uf7d5'
280 '\uf7d6'
281 '\uf7d7'
282 '\uf7d8'
283 '\uf7d9'
284 '\uf7da'
285 '\uf7db'
286 '\uf7dc'
287 '\uf7dd'
288 '\uf7de'
289 '\uf7df'
290 '\uf7e0'
291 '\uf7e1'
292 '\uf7e2'
293 '\uf7e3'
294 '\uf7e4'
295 '\uf7e5'
296 '\uf7e6'
297 '\uf7e7'
298 '\uf7e8'
299 '\uf7e9'
300 '\uf7ea'
301 '\uf7eb'
302 '\uf7ec'
303 '\uf7ed'
304 '\uf7ee'
305 '\uf7ef'
306 '\uf7f0'
307 '\uf7f1'
308 '\uf7f2'
309 '\uf7f3'
310 '\uf7f4'
311 '\uf7f5'
312 '\uf7f6'
313 '\uf7f7'
314 '\uf7f8'
315 '\uf7f9'
316 '\uf7fa'
317 '\uf7fb'
318 '\uf7fc'
319 '\uf7fd'
320 '\uf7fe'
321 '\uf7ff'
322 )
323
324 ### Encoding table
325 encoding_table = codecs.charmap_build(decoding_table)