kde-workspace/kioslave/fish/generate_fishcode.py

38 lines
733 B
Python
Raw Normal View History

2014-11-15 04:16:00 +02:00
#1 is generate_fishcode.py
#2 is md5sum
#3 is the output file
2015-08-28 05:29:36 +03:00
#4 are the parameters for cut
2014-11-15 04:16:00 +02:00
import sys
import re
import hashlib
fp = open(sys.argv[1], "rb")
r = fp.read()
fp.close()
m = hashlib.md5()
m.update(r)
sm = m.hexdigest()
fp = open(sys.argv[1], "r")
r = fp.read()
fp.close()
fp = open(sys.argv[3], "w")
fp.write('#define CHECKSUM "%s"\n' % sm)
fp.write('static const char *fishCode(\n')
r = re.sub(r'\\', r'\\\\', r)
r = re.sub(r'"', r'\\"', r)
p = re.compile('^[ ]*', re.M)
r = p.sub('"', r)
p = re.compile(r'^"# .*\n*', re.M)
r = p.sub('', r)
p = re.compile('[ ]*$', re.M)
r = p.sub(r'\\n"', r)
p = re.compile(r'^"\\n"\n?', re.M)
r = p.sub('', r)
r = re.sub(r'{CHECKSUM}', sm, r, 1)
fp.write(r + ");\n")
fp.close()