1
2
3
4 """Miscellaneous functions to mask Python version differences."""
5
6 import sys
7 import os
8 import math
9 import binascii
10
11 if sys.version_info >= (3,0):
12
14
15
16
17
18
20
23
24
25
26
27
29 try:
30 b = bytearray(binascii.a2b_hex(bytearray(s, "ascii")))
31 except Exception as e:
32 raise SyntaxError("base16 error: %s" % e)
33 return b
34
36 try:
37 b = bytearray(binascii.a2b_base64(bytearray(s, "ascii")))
38 except Exception as e:
39 raise SyntaxError("base64 error: %s" % e)
40 return b
41
43 return binascii.b2a_hex(b).decode("ascii")
44
47
49 return sys.stdin.buffer.read()
50
53
54 else:
55
56
57 if sys.version_info < (2,7):
59 else:
61
62
63
65
67 try:
68 b = bytearray(binascii.a2b_hex(s))
69 except Exception as e:
70 raise SyntaxError("base16 error: %s" % e)
71 return b
72
74 try:
75 b = bytearray(binascii.a2b_base64(s))
76 except Exception as e:
77 raise SyntaxError("base64 error: %s" % e)
78 return b
79
82
85
88
89 import traceback
93