X-Git-Url: https://git.siccegge.de//index.cgi?p=fachschaftentool.git;a=blobdiff_plain;f=application.py;fp=application.py;h=1e0fcd890c1f445e51528a2fbbc7547943334ce0;hp=c296f31413debd4352aaf81e859c66537f3835ea;hb=9896e94738124919862e1053d72587fd3ea0a714;hpb=9b85c51219c8e60c9a51ac912b0be55b78356e2e diff --git a/application.py b/application.py index c296f31..1e0fcd8 100644 --- a/application.py +++ b/application.py @@ -1,5 +1,5 @@ #!/usr/bin/python2 - +# -*- coding: utf-8 -*- import os import os.path import sqlite3 @@ -74,18 +74,40 @@ def add_process(): def download(): db = get_db() cursor = db.cursor() + universities = [] data = StringIO.StringIO() tar = tarfile.TarFile(mode='w', fileobj=data) - for fachschaft in cursor.execute("SELECT * from fachschaft"): + for fachschaft in cursor.execute("SELECT * from fachschaft").fetchall(): studiengaenge = cursor.execute("SELECT * from studiengang WHERE fachschaft = ?", [fachschaft['rowid']]).fetchall() fdata = render_template('fachschaft.tex', fachschaft = fachschaft, studiengaenge = studiengaenge) fdata = fdata.encode('utf-8') - info = tarfile.TarInfo(name='%s.tex' % fachschaft['kurzname'].strip().lower().replace(' ', '_').replace('/','_')) + filename = '%s_%s.tex' % (fachschaft['kurzname'].strip().lower().replace(' ', '_').replace('/','_').replace(u'ä', 'ae').replace(u'ü', 'ue').replace(u'ö', 'oe'), + fachschaft['rowid']) + info = tarfile.TarInfo(name='fachschaften/%s' % filename) info.size = len(fdata) tar.addfile(info, StringIO.StringIO(fdata)) - print fdata + universities.append(filename) + + # liste.tex + fdata = ('\n'.join(['\input{fachschaften/%s}' % (u) for u in universities])).encode('utf-8') + info = tarfile.TarInfo(name='liste.tex') + info.size = len(fdata) + tar.addfile(info, StringIO.StringIO(fdata)) + + # master.tex + fdata = file(os.path.join(os.path.dirname(__file__), 'templates', 'master.tex')).read() + info = tarfile.TarInfo(name='master.tex') + info.size = len(fdata) + tar.addfile(info, StringIO.StringIO(fdata)) + + # kiflogo.pdf + fdata = file(os.path.join(os.path.dirname(__file__), 'templates', 'kiflogo.pdf')).read() + info = tarfile.TarInfo(name='kiflogo.pdf') + info.size = len(fdata) + tar.addfile(info, StringIO.StringIO(fdata)) + tar.close() responseobj=make_response(data.getvalue())