bm2htm.py
# -*- coding: cp936 -*-
import os, sys
import re
if len(sys.argv) ==2:
f1 = sys.argv[1]
else:
print 'usage: bm2htm.py file1.txt '
sys.exit(1)
if not os.path.exists(f1):
print 'ERROR: %s not found\n' % f1
sys.exit(1)
fn,ext = os.path.splitext(f1)
if ext !='.txt':
print 'ERROR: %s ext is not .txt\n' % f1
sys.exit(1)
fp = open(f1,'r')
f2 = fn +'.htm'
fp2 = open(f2,'w')
fp2.write('<html>\n')
fp2.write(' <head>\n')
fp2.write(' <base target="_top"/>\n')
fp2.write(' <meta http-equiv="Content-Type" content="text/html; charset=GBK">\n')
fp2.write(' <title>JUnit 实战 第二版 </title>\n')
fp2.write(' </head>\n')
fp2.write('<body>\n')
pat = re.compile("^[1-9A-Z]")
for line in fp:
t = line.strip().replace(' ',' ').split() # A1A1
if line.strip() =='':
fp2.write('\n')
continue
if re.match(pat,line):
if len(t)>=3:
d = int(t[-1])
aline = ' <li>%s %s <a href="get.php?dir=junit&i=%d">%s</a></li>\n' % (t[0],t[1],d,t[-1])
else:
aline = ' <li>%s %s </li>\n' % (t[0],t[1])
fp2.write(aline)
elif len(t)>=3:
d = int(t[-1])
aline = '</ul>\n<ul>%s %s <a href="get.php?dir=junit&i=%d">%s</a>\n' % (t[0],t[1],d,t[-1])
fp2.write(aline)
else:
aline = '</ul>\n<ul>'+line
fp2.write(aline)
#
fp.close()
fp2.write('</ul>\n')
fp2.write('</body>\n')
fp2.write('</html>\n')
fp2.close()