conn = None
-env = jinja2.Environment(loader=jinja2.FileSystemLoader('templates'))
+env = jinja2.Environment(loader=jinja2.FileSystemLoader('templates', encoding='utf-8'))
def import_teilnehmer(input):
ids = set([ i[0] for i in conn.execute('SELECT id FROM teilnehmer').fetchall() ])
row + [0, 0, 0])
conn.commit()
-
+
def mark_pay(outdir):
betrag = int(raw_input("Betrag: "))
def create_nametag(outdir='output'):
template = env.get_template('nametag.svg')
-
+
for vorname, nachname, namensschild, hochschule in \
conn.execute("SELECT vorname, nachname, namensschild, hochschule FROM teilnehmer"):
nick=namensschild.decode('utf-8'),
uni1=hochschule.decode('utf-8')).encode('utf-8'))
+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 main():
parser = argparse.ArgumentParser(description="Ultimate Teilnehmertool")
help='Speichere Zahlungseingang')
group.add_argument('--remind', action='store_true',
help='Generiere Zahlungsaufforderungserinnerung')
-
+ group.add_argument('--bmbf', action='store_true',
+ help='Generiere BMBF-Unterschriftenliste')
+
# Argumente
parser.add_argument('--db', default='teilnehmer.sqlite',
help='Teilnehmerdatenbank')
help='Eingabedatei')
parser.add_argument('-o', '--output', default='output',
help='Ausgabeverzeichnis')
-
+
args = parser.parse_args()
global conn
conn = sqlite3.connect(args.db)
conn.text_factory = str
+ conn.row_factory = sqlite3.Row
+ conn.execute('pragma encoding = "UTF-8";')
- if args.nametag or args.email or args.pay or args.remind:
+ if args.nametag or args.email or args.pay or args.remind or args.bmbf:
assert(args.output)
if not os.path.exists(args.output):
os.mkdir(args.output)
-
+
if args.nametag:
create_nametag(args.output)
elif args.email:
mark_pay(args.output)
elif args.remind:
create_remind(args.output)
+ elif args.bmbf:
+ create_bmbf_list(args.output)
elif args.importcsv:
assert(args.input)
if __name__ == '__main__':
main()
-
+
+# vim: set expandtab :