#!/usr/bin/python2
-
+# -*- coding: utf-8 -*-
import os
import os.path
import sqlite3
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())