5050
5151
5252TABLE_A2B_B64 = (
53- - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
54- - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
55- - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , 62 , - 1 , - 1 , - 1 , 63 ,
56- 52 , 53 , 54 , 55 , 56 , 57 , 58 , 59 , 60 , 61 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
57- - 1 , 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 ,
58- 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , - 1 , - 1 , - 1 , - 1 , - 1 ,
59- - 1 , 26 , 27 , 28 , 29 , 30 , 31 , 32 , 33 , 34 , 35 , 36 , 37 , 38 , 39 , 40 ,
60- 41 , 42 , 43 , 44 , 45 , 46 , 47 , 48 , 49 , 50 , 51 , - 1 , - 1 , - 1 , - 1 , - 1 ,
61- - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
62- - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
63- - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
64- - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
65- - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
66- - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
67- - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
68- - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 , - 1 ,
53+ - 1 ,
54+ - 1 ,
55+ - 1 ,
56+ - 1 ,
57+ - 1 ,
58+ - 1 ,
59+ - 1 ,
60+ - 1 ,
61+ - 1 ,
62+ - 1 ,
63+ - 1 ,
64+ - 1 ,
65+ - 1 ,
66+ - 1 ,
67+ - 1 ,
68+ - 1 ,
69+ - 1 ,
70+ - 1 ,
71+ - 1 ,
72+ - 1 ,
73+ - 1 ,
74+ - 1 ,
75+ - 1 ,
76+ - 1 ,
77+ - 1 ,
78+ - 1 ,
79+ - 1 ,
80+ - 1 ,
81+ - 1 ,
82+ - 1 ,
83+ - 1 ,
84+ - 1 ,
85+ - 1 ,
86+ - 1 ,
87+ - 1 ,
88+ - 1 ,
89+ - 1 ,
90+ - 1 ,
91+ - 1 ,
92+ - 1 ,
93+ - 1 ,
94+ - 1 ,
95+ - 1 ,
96+ 62 ,
97+ - 1 ,
98+ - 1 ,
99+ - 1 ,
100+ 63 ,
101+ 52 ,
102+ 53 ,
103+ 54 ,
104+ 55 ,
105+ 56 ,
106+ 57 ,
107+ 58 ,
108+ 59 ,
109+ 60 ,
110+ 61 ,
111+ - 1 ,
112+ - 1 ,
113+ - 1 ,
114+ - 1 ,
115+ - 1 ,
116+ - 1 ,
117+ - 1 ,
118+ 0 ,
119+ 1 ,
120+ 2 ,
121+ 3 ,
122+ 4 ,
123+ 5 ,
124+ 6 ,
125+ 7 ,
126+ 8 ,
127+ 9 ,
128+ 10 ,
129+ 11 ,
130+ 12 ,
131+ 13 ,
132+ 14 ,
133+ 15 ,
134+ 16 ,
135+ 17 ,
136+ 18 ,
137+ 19 ,
138+ 20 ,
139+ 21 ,
140+ 22 ,
141+ 23 ,
142+ 24 ,
143+ 25 ,
144+ - 1 ,
145+ - 1 ,
146+ - 1 ,
147+ - 1 ,
148+ - 1 ,
149+ - 1 ,
150+ 26 ,
151+ 27 ,
152+ 28 ,
153+ 29 ,
154+ 30 ,
155+ 31 ,
156+ 32 ,
157+ 33 ,
158+ 34 ,
159+ 35 ,
160+ 36 ,
161+ 37 ,
162+ 38 ,
163+ 39 ,
164+ 40 ,
165+ 41 ,
166+ 42 ,
167+ 43 ,
168+ 44 ,
169+ 45 ,
170+ 46 ,
171+ 47 ,
172+ 48 ,
173+ 49 ,
174+ 50 ,
175+ 51 ,
176+ - 1 ,
177+ - 1 ,
178+ - 1 ,
179+ - 1 ,
180+ - 1 ,
181+ - 1 ,
182+ - 1 ,
183+ - 1 ,
184+ - 1 ,
185+ - 1 ,
186+ - 1 ,
187+ - 1 ,
188+ - 1 ,
189+ - 1 ,
190+ - 1 ,
191+ - 1 ,
192+ - 1 ,
193+ - 1 ,
194+ - 1 ,
195+ - 1 ,
196+ - 1 ,
197+ - 1 ,
198+ - 1 ,
199+ - 1 ,
200+ - 1 ,
201+ - 1 ,
202+ - 1 ,
203+ - 1 ,
204+ - 1 ,
205+ - 1 ,
206+ - 1 ,
207+ - 1 ,
208+ - 1 ,
209+ - 1 ,
210+ - 1 ,
211+ - 1 ,
212+ - 1 ,
213+ - 1 ,
214+ - 1 ,
215+ - 1 ,
216+ - 1 ,
217+ - 1 ,
218+ - 1 ,
219+ - 1 ,
220+ - 1 ,
221+ - 1 ,
222+ - 1 ,
223+ - 1 ,
224+ - 1 ,
225+ - 1 ,
226+ - 1 ,
227+ - 1 ,
228+ - 1 ,
229+ - 1 ,
230+ - 1 ,
231+ - 1 ,
232+ - 1 ,
233+ - 1 ,
234+ - 1 ,
235+ - 1 ,
236+ - 1 ,
237+ - 1 ,
238+ - 1 ,
239+ - 1 ,
240+ - 1 ,
241+ - 1 ,
242+ - 1 ,
243+ - 1 ,
244+ - 1 ,
245+ - 1 ,
246+ - 1 ,
247+ - 1 ,
248+ - 1 ,
249+ - 1 ,
250+ - 1 ,
251+ - 1 ,
252+ - 1 ,
253+ - 1 ,
254+ - 1 ,
255+ - 1 ,
256+ - 1 ,
257+ - 1 ,
258+ - 1 ,
259+ - 1 ,
260+ - 1 ,
261+ - 1 ,
262+ - 1 ,
263+ - 1 ,
264+ - 1 ,
265+ - 1 ,
266+ - 1 ,
267+ - 1 ,
268+ - 1 ,
269+ - 1 ,
270+ - 1 ,
271+ - 1 ,
272+ - 1 ,
273+ - 1 ,
274+ - 1 ,
275+ - 1 ,
276+ - 1 ,
277+ - 1 ,
278+ - 1 ,
279+ - 1 ,
280+ - 1 ,
281+ - 1 ,
282+ - 1 ,
283+ - 1 ,
284+ - 1 ,
285+ - 1 ,
286+ - 1 ,
287+ - 1 ,
288+ - 1 ,
289+ - 1 ,
290+ - 1 ,
291+ - 1 ,
292+ - 1 ,
293+ - 1 ,
294+ - 1 ,
295+ - 1 ,
296+ - 1 ,
297+ - 1 ,
298+ - 1 ,
299+ - 1 ,
300+ - 1 ,
301+ - 1 ,
302+ - 1 ,
303+ - 1 ,
304+ - 1 ,
305+ - 1 ,
306+ - 1 ,
307+ - 1 ,
308+ - 1 ,
69309)
70310
71- TABLE_B2A_B64 = (
72- "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/" )
311+ TABLE_B2A_B64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
312+
73313
74314class Error (Exception ):
75315 """Exception raised on errors. These are usually programming errors."""
316+
76317 # pylint: disable=unnecessary-pass
77318 pass
78319
320+
79321if not "unhexlify" in globals ():
80322 # pylint: disable=function-redefined
81323 def unhexlify (hexstr ):
@@ -104,18 +346,23 @@ def hexlify(data):
104346 if not data :
105347 raise TypeError ("Data provided is zero-length" )
106348 data = "" .join ("%02x" % i for i in data )
107- return bytes (data , 'utf-8' )
349+ return bytes (data , "utf-8" )
350+
108351
109352B2A_HEX = hexlify
110353A2B_HEX = unhexlify
111354
355+
112356def _transform (n ):
113357 if n == - 1 :
114- return ' \xff '
358+ return " \xff "
115359 return chr (n )
116- TABLE_A2B_B64 = '' .join (map (_transform , TABLE_A2B_B64 ))
360+
361+
362+ TABLE_A2B_B64 = "" .join (map (_transform , TABLE_A2B_B64 ))
117363assert len (TABLE_A2B_B64 ) == 256
118364
365+
119366def a2b_base64 (b64_data ):
120367 """Convert a block of base64 data back to binary and return the binary data.
121368
@@ -132,12 +379,12 @@ def a2b_base64(b64_data):
132379 char = chr (char )
133380 if char == "=" :
134381 if quad_pos > 2 or (quad_pos == 2 and last_char_was_a_pad ):
135- break # stop on 'xxx=' or on 'xx=='
382+ break # stop on 'xxx=' or on 'xx=='
136383 last_char_was_a_pad = True
137384 else :
138385 n = ord (TABLE_A2B_B64 [ord (char )])
139- if n == 0xff :
140- continue # ignore strange characters
386+ if n == 0xFF :
387+ continue # ignore strange characters
141388 #
142389 # Shift it in on the low end, and see if there's
143390 # a byte ready for output.
@@ -147,15 +394,16 @@ def a2b_base64(b64_data):
147394 #
148395 if leftbits >= 8 :
149396 leftbits -= 8
150- res .append ((leftchar >> leftbits ).to_bytes (1 , ' big' ))
151- leftchar &= (( 1 << leftbits ) - 1 )
397+ res .append ((leftchar >> leftbits ).to_bytes (1 , " big" ))
398+ leftchar &= (1 << leftbits ) - 1
152399 #
153400 last_char_was_a_pad = False
154401 else :
155402 if leftbits != 0 :
156403 raise Exception ("Incorrect padding" )
157404
158- return b'' .join (res )
405+ return b"" .join (res )
406+
159407
160408def b2a_base64 (bin_data ):
161409 """Convert binary data to a line of ASCII characters in base64 coding.
@@ -173,18 +421,18 @@ def b2a_base64(bin_data):
173421 # Shift into our buffer, and output any 6bits ready
174422 leftchar = (leftchar << 8 ) | char
175423 leftbits += 8
176- res .append (TABLE_B2A_B64 [(leftchar >> (leftbits - 6 )) & 0x3f ])
424+ res .append (TABLE_B2A_B64 [(leftchar >> (leftbits - 6 )) & 0x3F ])
177425 leftbits -= 6
178426 if leftbits >= 6 :
179- res .append (TABLE_B2A_B64 [(leftchar >> (leftbits - 6 )) & 0x3f ])
427+ res .append (TABLE_B2A_B64 [(leftchar >> (leftbits - 6 )) & 0x3F ])
180428 leftbits -= 6
181429 #
182430 if leftbits == 2 :
183431 res .append (TABLE_B2A_B64 [(leftchar & 3 ) << 4 ])
184432 res .append ("=" )
185433 res .append ("=" )
186434 elif leftbits == 4 :
187- res .append (TABLE_B2A_B64 [(leftchar & 0xf ) << 2 ])
435+ res .append (TABLE_B2A_B64 [(leftchar & 0xF ) << 2 ])
188436 res .append ("=" )
189- res .append (' \n ' )
190- return bytes ('' .join (res ), ' ascii' )
437+ res .append (" \n " )
438+ return bytes ("" .join (res ), " ascii" )
0 commit comments