kde-workspace/kioslave/fish/generate_fishcode.py
2014-11-15 04:16:00 +02:00

37 lines
734 B
Python

#1 is generate_fishcode.py
#2 is md5sum
#3 is the output file
#4 are the parameters for cut
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()