forked from effigies/BitTornado
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbt_MakeCreateIcons.py
More file actions
executable file
·55 lines (41 loc) · 1.29 KB
/
bt_MakeCreateIcons.py
File metadata and controls
executable file
·55 lines (41 loc) · 1.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/usr/bin/env python
# Written by John Hoffman
import os
import time
import zlib
import binascii
import BitTornado
icons = ['icon_bt.ico', 'icon_done.ico',
'black.ico', 'blue.ico', 'green.ico', 'red.ico', 'white.ico',
'yellow.ico', 'black1.ico', 'green1.ico', 'yellow1.ico', 'alloc.gif']
width = 65
iconEncodings = []
for icon in icons:
with open(os.path.join('icons', icon), 'rb') as ff:
d = binascii.b2a_base64(zlib.compress(ff.read())).strip()
width1 = width - len(icon) - 4
key = ' "{}": "{}"\n'.format(icon, d[:width1])
value = '\n'.join(' "{}"'.format(d[i:i + width])
for i in xrange(width1, len(d), width))
iconEncodings.append(key + value)
with open('CreateIcons.py', 'w') as f:
f.write("""# Generated from bt_MakeCreateIcons - {time}
# {version}
import os
import zlib
import binascii
icons = {{
{encodingDict}
}}
def GetIcons():
return icons.keys()
def CreateIcon(icon, savedir):
try:
with open(os.path.join(savedir, icon), "wb") as f:
f.write(zlib.decompress(binascii.a2b_base64(icons[icon])))
return True
except IOError:
return False
""".format(time=time.strftime('%x %X'),
version=BitTornado.version,
encodingDict=',\n'.join(iconEncodings)))