From 49bbe12917ff9892c79c0562ff037494b92e7133 Mon Sep 17 00:00:00 2001 From: Thomas Lindner Date: Wed, 10 Nov 2021 17:20:35 +0100 Subject: [PATCH] provide qr codes for printing --- datentrog.py | 29 ++++++++++++++++++++++++++++- heizhaus_logo.png | Bin 0 -> 5022 bytes heizhaus_logo_circle.png | Bin 0 -> 18148 bytes heizhaus_logo_square.png | Bin 0 -> 12200 bytes requirements.txt | 1 + template/event.tpl | 2 +- template/new.tpl | 4 ++-- template/qr.tpl | 7 +++++++ 8 files changed, 39 insertions(+), 4 deletions(-) create mode 100644 heizhaus_logo.png create mode 100644 heizhaus_logo_circle.png create mode 100644 heizhaus_logo_square.png create mode 100644 template/qr.tpl diff --git a/datentrog.py b/datentrog.py index f68841f..ba04da8 100755 --- a/datentrog.py +++ b/datentrog.py @@ -1,5 +1,8 @@ #!/usr/bin/env python3 import bottle +import io +import qrcode +import qrcode.image.styledpil as qrstyled import sqlite3 @@ -18,6 +21,13 @@ cursor.execute(""" """) +def url(route): + return '%s://%s/%s' % ( + bottle.request.urlparts.scheme, + bottle.request.urlparts.netloc, + route) + + @application.get("/") @bottle.view("template/new.tpl") def new_get(): @@ -29,7 +39,7 @@ def new_get(): def new_post(): event = bottle.request.forms.get("event", "") if event: - bottle.redirect("event/" + event) + bottle.redirect(url("qr/" + event)) return dict(event=event, feedback=True) @@ -38,6 +48,23 @@ def static_get(file): return bottle.static_file(file, root="static") +@application.get("/qr/") +@bottle.view("template/qr.tpl") +def qr_get(event): + return dict(event=event, url=url("event/" + event)) + + +@application.get("/qr/img/.png") +def qr_img_get(event): + qr = qrcode.QRCode(error_correction=qrcode.constants.ERROR_CORRECT_H, box_size=20) + qr.add_data(url("event/" + event)) + image = qr.make_image(image_factory=qrstyled.StyledPilImage, embeded_image_path="heizhaus_logo_square.png") + buffer = io.BytesIO() + image.save(buffer, format="PNG") + bottle.response.content_type = "image/png" + return buffer.getvalue() + + @application.get("/event/") @bottle.view("template/event.tpl") def event_get(event): diff --git a/heizhaus_logo.png b/heizhaus_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..8d664164cec8296332590383a914ba741e49d83c GIT binary patch literal 5022 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 literal 0 HcmV?d00001 diff --git a/heizhaus_logo_square.png b/heizhaus_logo_square.png new file mode 100644 index 0000000000000000000000000000000000000000..1f4c40a8ca122cf4cce978f9cf75f7c0506d45f9 GIT binary patch literal 12200 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 registriert.
diff --git a/template/new.tpl b/template/new.tpl index a329524..8091552 100644 --- a/template/new.tpl +++ b/template/new.tpl @@ -1,8 +1,8 @@ -% rebase('template/toplevel.tpl', title='Neu erstellen') +% rebase("template/toplevel.tpl", title="Neu erstellen")
- + % if get("feedback", False): % end diff --git a/template/qr.tpl b/template/qr.tpl new file mode 100644 index 0000000..aa55399 --- /dev/null +++ b/template/qr.tpl @@ -0,0 +1,7 @@ +% rebase("template/toplevel.tpl", title=event) +
+ Zum Formular + +
+QR-Code +

{{ url }}