diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a03cb49d81abffbb468675b9305f4c7646e40d83..75356ba723a879caa8e45e1e5fecf199e11c5bb4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,13 +3,8 @@ build: image: smokserwis/docker-docs-build script: - mkdir dist - - python build.py lab1 - - python build.py lab2 - - python build.py lab3 + - python build.py - cp resources/lab3_program.txt dist/lab3/program.txt - - python build.py lab4 - - python build.py lab5 - - python build.py lab6 - mv -f dist/* . artifacts: paths: diff --git a/build.py b/build.py index f3b113add6766d7d24bb4d59132871283460241e..2913dff9560c2913706c14ebc2bc62fea012b0cd 100644 --- a/build.py +++ b/build.py @@ -1,49 +1,50 @@ -#!/usr/bin/python # coding=UTF-8 from __future__ import print_function -import os, json, sys +import 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: - if os.path.exists('src/'+sys.argv[1]+'.json'): - with open('src/' + sys.argv[1] + '.json', 'rb') as datin: - data = json.load(datin) - else: - data = [{}] - - 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, )) + + for lab_name in ['lab1', 'lab2', 'lab3', 'lab4', 'lab5', 'lab6']: + dist_lp = 'dist/' + lab_name + '/' + src_md = 'src/' + lab_name + '.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: + if os.path.exists('src/'+lab_name+'.json'): + with open('src/' + lab_name + '.json', 'rb') as datin: + data = json.load(datin) + else: + data = [{}] + + 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' % (lab_name, 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, ))