#!/usr/bin/python # coding=UTF-8 from __future__ import print_function import os, json, sys import os.path if __name__ == '__main__': dist_lp = 'dist/' + sys.argv[1] + '/' src_md = 'src/' + sys.argv[1] + '.md' if not os.path.exists(src_md): print('Aborting, no src file') sys.exit() with open('src/header.md') as fh, open('src/footer.md', 'rb') as ff: header_bin = fh.read() footer_bin = ff.read() # Lab1 try: os.makedirs(dist_lp) except OSError: pass with open(src_md, 'rb') as labin, open('src/'+sys.argv[1]+'.json', 'rb') as datin: data = json.load(datin) lab = labin.read().decode('utf8') for ex_no, d in enumerate(data, start=1): plab = lab d['lp'] = unicode(ex_no) print('Processing %s-%s' % (sys.argv[1], ex_no, )) for k, v in d.iteritems(): plab = plab.replace(u'$%s$' % (k, ), v) with open(dist_lp+'%s.md' % (ex_no, ), 'wb') as labout: labout.write(header_bin) labout.write(plab.encode('utf8')) labout.write(footer_bin) os.system(('pandoc %s%s.md -s -o %s%s.pdf') % (dist_lp, ex_no, dist_lp, ex_no)) os.unlink(dist_lp+'%s.md' % (ex_no, ))