+#!/usr/bin/python
+# -*- coding: utf-8 -*-
+
+import sqlite3
+import string
+import jinja2
+import os
+import os.path
+
+conn = sqlite3.connect('teilnehmer.sqlite')
+conn.text_factory = str
+
+env = jinja2.Environment(loader=jinja2.FileSystemLoader('templates'))
+
+def create_mail():
+ def gen_rechnung(tshirt, zipper):
+ preis = 25
+ kosten = u""
+ kosten += u"%s | %s\n" % (u" Konferenzbeitrag".ljust(30), "25.00")
+ kosten += u"%s | %s\n" % ((u" T-Shirt (Größe %s)" % tshirt).ljust(30), " 0.00")
+ if zipper != 'Kein Pulli':
+ kosten += u"%s | %s\n" % ((u" Kapuzenzipper (Größe %s)" % zipper).ljust(30), "25.00")
+ preis += 25
+ kosten += ' '*2 + 29*'-' + '+' + 6*'-' + '\n'
+ kosten += u"%s | %s\n" % (u" Summe".ljust(30), "%2d.00" % preis)
+
+ return kosten
+
+ def gen_token(id, vorname, nachname):
+ return u"%s-%s-%s" % (id, nachname.decode('utf-8').upper(), vorname.decode('utf-8').upper())
+
+ if not os.path.exists('output'):
+ os.mkdir('output')
+
+ template = env.get_template('teilnehmerbeitrag.eml')
+
+ for id, vorname, nachname, email, tshirt, zipper in \
+ conn.execute("SELECT id, vorname, nachname, email, tshirt, zipper FROM teilnehmer WHERE emailsent = 0"):
+
+ with open(os.path.join('output', email), 'w') as f:
+ f.write(template.render(vorname=vorname.decode('utf-8'),
+ nachname=nachname.decode('utf-8'),
+ email=email.decode('utf-8'),
+ token=gen_token(id, vorname, nachname),
+ rechnung=gen_rechnung(tshirt, zipper)).encode('utf-8'))
+
+
+if __name__ == '__main__':
+ create_mail()
+