]> git.siccegge.de Git - fachschaftentool.git/blobdiff - application.py
fachschaftstoolupdate
[fachschaftentool.git] / application.py
index c296f31413debd4352aaf81e859c66537f3835ea..1e0fcd890c1f445e51528a2fbbc7547943334ce0 100644 (file)
@@ -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())