]> git.siccegge.de Git - fachschaftentool.git/blobdiff - application.py
Add license
[fachschaftentool.git] / application.py
index 8ceb6c9e74c6bf45737c884ea7179d47abd22d25..3761ba343c9fed02391ca4a6273f0d35e7def773 100644 (file)
@@ -1,5 +1,5 @@
 #!/usr/bin/python2
-
+# -*- coding: utf-8 -*-
 import os
 import os.path
 import sqlite3
@@ -10,8 +10,8 @@ from flask import Flask, session, redirect, url_for, escape, request, render_tem
 
 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)
@@ -42,13 +42,11 @@ def add_process():
     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'],
@@ -57,7 +55,8 @@ def add_process():
                     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] != '':
@@ -75,18 +74,47 @@ 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=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())