X-Git-Url: https://git.siccegge.de//index.cgi?a=blobdiff_plain;f=teilnehmertool.py;h=b11b6882567448aaf48b38ff0105803337e084b5;hb=a0b00470ee8d2ddb81d057e054c960214ad169f3;hp=cb9d9d483a1018d38c773bf7d14a4785193a4b2d;hpb=d5d3baf419d434f7bb64062a9cca59869737bdc9;p=teilnehmertool.git diff --git a/teilnehmertool.py b/teilnehmertool.py index cb9d9d4..b11b688 100755 --- a/teilnehmertool.py +++ b/teilnehmertool.py @@ -30,15 +30,24 @@ def import_teilnehmer(input): conn.commit() -def mark_pay(): +def mark_pay(outdir): betrag = int(raw_input("Betrag: ")) + template = env.get_template('eingangsbestaetigung.eml') + while True: uid = raw_input("User: ") if uid == "": break uid = int(uid) conn.execute("UPDATE teilnehmer SET bezahlt = ? WHERE id = ?", [betrag, uid]) + vorname, nachname, email = conn.execute("SELECT vorname, nachname, email FROM teilnehmer WHERE id = ?", [uid]).fetchone() + + with open(os.path.join(outdir, email), 'w') as f: + f.write(template.render(vorname=vorname.decode('utf-8'), + nachname=nachname.decode('utf-8'), + email=email.decode('utf-8'), + betrag=betrag).encode('utf-8')) conn.commit() @@ -64,14 +73,14 @@ def create_mail(outdir='output'): for id, vorname, nachname, email, tshirt, zipper in \ conn.execute("SELECT id, vorname, nachname, email, tshirt, zipper FROM teilnehmer WHERE emailsent = 0"): - rechnung, preis = gen_rechnung(tshirt, zipper)).encode('utf-8') + rechnung, preis = gen_rechnung(tshirt, zipper) with open(os.path.join(outdir, 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=rechnung) + rechnung=rechnung).encode('utf-8')) conn.execute("UPDATE teilnehmer set emailsent = ?, betrag = ? WHERE id = ?", [datetime.datetime.now().isoformat(), preis, id]) @@ -117,7 +126,7 @@ def main(): conn = sqlite3.connect(args.db) conn.text_factory = str - if args.nametag or args.email: + if args.nametag or args.email or args.pay: assert(args.output) if not os.path.exists(args.output): os.mkdir(args.output) @@ -126,14 +135,13 @@ def main(): create_nametag(args.output) elif args.email: create_mail(args.output) + elif args.pay: + mark_pay(args.output) elif args.importcsv: assert(args.input) import_teilnehmer(args.input) - elif args.pay: - mark_pay() - if __name__ == '__main__': main()