]>
git.siccegge.de Git - fachschaftentool.git/blob - application.py
9 from flask
import Flask
, session
, redirect
, url_for
, escape
, request
, render_template
, g
, make_response
13 #DATABASE = os.path.join(os.path.dirname(__file__), '..', 'data', 'fachschaften.sqlite')
14 DATABASE
= os
.path
.join(os
.path
.dirname(__file__
), 'fachschaften.sqlite')
17 db
= sqlite3
.connect(DATABASE
)
18 db
.row_factory
= sqlite3
.Row
25 fachschaften
= cursor
.execute("SELECT * from fachschaft")
26 return render_template('index.html', fachschaften
=fachschaften
)
28 @app.route('/show/<int:id>/')
32 fachschaft
= cursor
.execute("SELECT * from fachschaft WHERE rowid = ?", [id]).fetchone()
33 studiengang
= cursor
.execute("SELECT * from studiengang WHERE fachschaft = ?", [fachschaft
['rowid']]).fetchall()
34 return render_template('show.html', fachschaft
=fachschaft
, studiengaenge
=studiengang
)
38 return render_template('add.html')
40 @app.route('/addp/', methods
=['POST'])
48 cursor
.execute("INSERT INTO fachschaft "
49 "(langname, kurzname, land, stadt, studenten, "
50 "organ, vertreten, organisation, fachschaftler) "
51 "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)",
58 data
['vertretenestudis'],
59 data
['organisationsform'],
61 rowid
= cursor
.lastrowid
62 for i
in range(0, 10):
63 if data
['studiengang%d' % i
] != '':
64 cursor
.execute("INSERT INTO studiengang "
65 "(fachschaft, name, anf_dieses, anf_vorjahr) "
66 "VALUES (?, ?, ?, ?)",
68 data
['studiengang%d' % i
],
69 data
['anfaenger%d' % i
],
70 data
['vorjahr%d' % i
]])
72 return redirect(url_for('show', id = rowid
))
74 @app.route('/download/')
78 data
= StringIO
.StringIO()
79 tar
= tarfile
.TarFile(mode
='w', fileobj
=data
)
80 for fachschaft
in cursor
.execute("SELECT * from fachschaft"):
81 studiengaenge
= cursor
.execute("SELECT * from studiengang WHERE fachschaft = ?", [fachschaft
['rowid']]).fetchall()
82 fdata
= render_template('fachschaft.tex',
83 fachschaft
= fachschaft
,
84 studiengaenge
= studiengaenge
)
85 fdata
= fdata
.encode('utf-8')
86 info
= tarfile
.TarInfo(name
=fachschaft
['kurzname'])
87 info
.size
= len(fdata
)
88 tar
.addfile(info
, StringIO
.StringIO(fdata
))
92 responseobj
=make_response(data
.getvalue())
93 responseobj
.mimetype
="application/x-tar"
96 if __name__
== '__main__':