+
+def create_teilnehmer_list(outdir = 'output', only_quittung=False):
+ template_full = env.get_template('teilnehmerliste.tex')
+ template_pack = env.get_template('packliste.tex')
+ template_quittung = env.get_template('quittung.tex')
+
+ i = 0
+ teilnehmer = []
+ for vor, nach, nick, hochschule, betrag, bezahlt, shirtsize, zippersize, dochned, comment in \
+ conn.execute("SELECT vorname, nachname, namensschild, hochschule, betrag, bezahlt, tshirt, zipper, dochned, orga_comment FROM teilnehmer ORDER BY UPPER(hochschule) ASC, UPPER(namensschild) ASC"):
+
+ vor = vor.decode('utf8')
+ nach = nach.decode('utf8')
+ nick = nick.decode('utf8')
+ hochschule = hochschule.decode('utf8')
+ ## betrag ist schon int
+ ## bezahlt ist schon int
+ shirtsize = shirtsize.decode('utf8')
+ if re.match("kein", shirtsize, flags=re.IGNORECASE):
+ shirtsize = ""
+
+ zippersize = zippersize.decode('utf8')
+ if re.match("kein", zippersize, flags=re.IGNORECASE):
+ zippersize = ""
+
+ ## string to bool..
+ if dochned == "false":
+ will_attend = True
+ else:
+ will_attend = False
+
+ comment = comment.decode('utf8')
+
+ teilnehmer.append({'vorname': vor, 'nachname': nach,
+ 'hochschule': hochschule, 'nick': nick, 'betrag': betrag, 'bezahlt':
+ bezahlt, 'shirtsize': shirtsize, 'zippersize': zippersize,
+ 'will_attend': will_attend, 'comment': comment})
+
+ if will_attend:
+ with open(os.path.join(outdir, ("%03d_quittung_%s_%s.tex" % (i, vor.replace(" ", "_"), nach.replace(" ", "_")))), 'w') as out:
+ out.write(template_quittung.render(vorname=vor, nachname=nach, uni=hochschule).encode('utf-8'))
+
+ i = i+1
+
+ ## gibt schlimmere hacks..
+ if only_quittung:
+ return
+
+ with open(os.path.join(outdir, "teilnehmerliste.tex"), 'w') as out:
+ out.write(template_full.render(teilnehmer=teilnehmer).encode('utf-8'))
+
+ with open(os.path.join(outdir, "packliste.tex"), 'w') as out:
+ out.write(template_pack.render(teilnehmer=teilnehmer).encode('utf-8'))
+
+
+
+def create_teilnehmer_quittungen(output='quittungen'):
+ create_teilnehmer_list(output, only_quittung=True)
+
+
+def create_bmbf_list(outdir = 'output'):
+ template = env.get_template('bmbf-unterschriftenliste.tex')
+
+
+ teilnehmer = []
+ i = 1
+ for vor, nach, hochschule in \
+ conn.execute("SELECT vorname, nachname, hochschule FROM teilnehmer ORDER BY UPPER(nachname) ASC"):
+
+ vor = vor.decode('utf8')
+ nach = nach.decode('utf8')
+ hochschule = hochschule.decode('utf8')
+
+ teilnehmer.append({'vorname': vor, 'nachname': nach, 'num': i, 'hochschule': hochschule})
+ i = i+1
+
+
+ with open(os.path.join(outdir, "bmbf-unterschriftenliste.tex"), 'w') as out:
+ out.write(template.render(teilnehmer=teilnehmer).encode('utf-8'))
+
+
+def list_teilnehmer_ids():
+ for tid, dochned in conn.execute("SELECT id, dochned FROM teilnehmer ORDER BY id ASC"):
+ if dochned == "false":
+ print tid
+
+