#!/usr/bin/python2
-
+# -*- coding: utf-8 -*-
import os
import os.path
import sqlite3
app = Flask(__name__)
-#DATABASE = os.path.join(os.path.dirname(__file__), '..', 'data', 'fachschaften.sqlite')
-DATABASE = os.path.join(os.path.dirname(__file__), 'fachschaften.sqlite')
+DATABASE = os.path.join(os.path.dirname(__file__), '..', 'data', 'fachschaften.sqlite')
+#DATABASE = os.path.join(os.path.dirname(__file__), 'fachschaften.sqlite')
def get_db():
db = sqlite3.connect(DATABASE)
db = get_db()
cursor = db.cursor()
data = request.form
-
- print data
cursor.execute("INSERT INTO fachschaft "
"(langname, kurzname, land, stadt, studenten, "
- "organ, vertreten, organisation, fachschaftler) "
- "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)",
+ "organ, vertreten, organisation, fachschaftler, homepage) "
+ "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
[data['unilang'],
data['unikurz'],
data['bundesland'],
data['fsorgan'],
data['vertretenestudis'],
data['organisationsform'],
- data['aktive']])
+ data['aktive'],
+ data['homepage']])
rowid = cursor.lastrowid
for i in range(0, 10):
if data['studiengang%d' % i] != '':
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=fachschaft['kurzname'])
+ 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))
+
+ # theme
+ for elem in os.listdir(os.path.join(os.path.dirname(__file__), 'templates', 'beamertheme')):
+ fdata = file(os.path.join(os.path.dirname(__file__), 'templates', 'beamertheme', elem)).read()
+ info = tarfile.TarInfo(name=elem)
+ info.size = len(fdata)
+ tar.addfile(info, StringIO.StringIO(fdata))
+
tar.close()
responseobj=make_response(data.getvalue())