]> git.siccegge.de Git - teilnehmertool.git/blob - teilnehmertool.py
Add teilnehmertool
[teilnehmertool.git] / teilnehmertool.py
1 #!/usr/bin/python
2 # -*- coding: utf-8 -*-
3
4 import sqlite3
5 import string
6 import jinja2
7 import os
8 import os.path
9
10 conn = sqlite3.connect('teilnehmer.sqlite')
11 conn.text_factory = str
12
13 env = jinja2.Environment(loader=jinja2.FileSystemLoader('templates'))
14
15 def create_mail():
16 def gen_rechnung(tshirt, zipper):
17 preis = 25
18 kosten = u""
19 kosten += u"%s | %s\n" % (u" Konferenzbeitrag".ljust(30), "25.00")
20 kosten += u"%s | %s\n" % ((u" T-Shirt (Größe %s)" % tshirt).ljust(30), " 0.00")
21 if zipper != 'Kein Pulli':
22 kosten += u"%s | %s\n" % ((u" Kapuzenzipper (Größe %s)" % zipper).ljust(30), "25.00")
23 preis += 25
24 kosten += ' '*2 + 29*'-' + '+' + 6*'-' + '\n'
25 kosten += u"%s | %s\n" % (u" Summe".ljust(30), "%2d.00" % preis)
26
27 return kosten
28
29 def gen_token(id, vorname, nachname):
30 return u"%s-%s-%s" % (id, nachname.decode('utf-8').upper(), vorname.decode('utf-8').upper())
31
32 if not os.path.exists('output'):
33 os.mkdir('output')
34
35 template = env.get_template('teilnehmerbeitrag.eml')
36
37 for id, vorname, nachname, email, tshirt, zipper in \
38 conn.execute("SELECT id, vorname, nachname, email, tshirt, zipper FROM teilnehmer WHERE emailsent = 0"):
39
40 with open(os.path.join('output', email), 'w') as f:
41 f.write(template.render(vorname=vorname.decode('utf-8'),
42 nachname=nachname.decode('utf-8'),
43 email=email.decode('utf-8'),
44 token=gen_token(id, vorname, nachname),
45 rechnung=gen_rechnung(tshirt, zipper)).encode('utf-8'))
46
47
48 if __name__ == '__main__':
49 create_mail()
50