uni1=hochschule.decode('utf-8')).encode('utf-8'))
-def create_teilnehmer_list(outdir = 'output'):
+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')
+ template_strichliste = env.get_template('strichliste.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(nachname) ASC"):
+ 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')
'will_attend': will_attend, 'comment': comment})
if will_attend:
- with open(os.path.join(outdir, ("%03d_quittung_%s_%s.tex" % (i, vor, nach))), 'w') as out:
- out.write(template_quittung.render(vorname=vor, nachname=nach).encode('utf-8'))
+ 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'))
+ with open(os.path.join(outdir, "teilnehmer-strichliste.tex"), 'w') as out:
+ out.write(template_strichliste.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'):
teilnehmer = []
i = 1
- for vor, nach, hochschule in \
- conn.execute("SELECT vorname, nachname, hochschule FROM teilnehmer ORDER BY UPPER(nachname) ASC"):
+ for vor, nach, hochschule, dochned in \
+ conn.execute("SELECT vorname, nachname, hochschule, dochned FROM teilnehmer ORDER BY UPPER(nachname) ASC, UPPER (vorname) ASC"):
vor = vor.decode('utf8')
nach = nach.decode('utf8')
hochschule = hochschule.decode('utf8')
+ if dochned != "false":
+ continue
+
+ if hochschule == "Privat" :
+ continue
+
teilnehmer.append({'vorname': vor, 'nachname': nach, 'num': i, 'hochschule': hochschule})
i = i+1
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
+
+
def main():
parser = argparse.ArgumentParser(description="Ultimate Teilnehmertool")
help='Generiere Helfer-Nametags aus helfer.csv')
group.add_argument('--quittungen', action='store_true',
help='Generiere Quittungen für Teilnehmer')
+ group.add_argument('--ids', action='store_true',
+ help='Liste alle Teilnehmerids auf, die sich nicht abgemeldet haben')
# Argumente
parser.add_argument('--db', default='teilnehmer.sqlite',
conn.execute('pragma encoding = "UTF-8";')
if args.nametag or args.email or args.pay or args.remind or args.bmbf or \
- args.liste or args.helfer or args.quittungen:
+ args.liste or args.helfer or args.quittungen or args.ids:
assert(args.output)
if not os.path.exists(args.output):
os.mkdir(args.output)
create_helfer_nametags(args.input, args.output)
elif args.quittungen:
create_teilnehmer_quittungen(args.output)
+ elif args.ids:
+ list_teilnehmer_ids()
elif args.importcsv:
assert(args.input)