mirror of
https://github.com/tebarius/Docker-Flask-QR.git
synced 2025-12-20 22:23:30 +01:00
VCARD-Inhalt geplant (in Flask-qr.py)
This commit is contained in:
21
.idea/workspace.xml
generated
21
.idea/workspace.xml
generated
@@ -4,9 +4,13 @@
|
||||
<option name="autoReloadType" value="SELECTIVE" />
|
||||
</component>
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="3fdfc273-527d-4717-bd6d-4ba98fba7555" name="Changes" comment="wifi geht">
|
||||
<list default="true" id="3fdfc273-527d-4717-bd6d-4ba98fba7555" name="Changes" comment="VCARD-Inhalt geplant (in Flask-qr.py)">
|
||||
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/Dockerfile-RasPi" beforeDir="false" afterPath="$PROJECT_DIR$/Dockerfile-RasPi" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/Flask-QR.py" beforeDir="false" afterPath="$PROJECT_DIR$/app/Flask-QR.py" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/static/style.css" beforeDir="false" afterPath="$PROJECT_DIR$/app/static/style.css" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/templates/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/app/templates/index.html" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/app/templates/qr.html" beforeDir="false" afterPath="$PROJECT_DIR$/app/templates/qr.html" afterDir="false" />
|
||||
</list>
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
@@ -83,7 +87,7 @@
|
||||
<recent name="D:\mager\Documents\IntelliJ\Docker-Flask-QR" />
|
||||
</key>
|
||||
</component>
|
||||
<component name="RunManager" selected="Docker.Dockerfile-Raspi">
|
||||
<component name="RunManager">
|
||||
<configuration default="true" type="docker-deploy" factoryName="dockerfile" temporary="true">
|
||||
<deployment type="dockerfile">
|
||||
<settings />
|
||||
@@ -108,7 +112,15 @@
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1699219722200</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="2" />
|
||||
<task id="LOCAL-00002" summary="VCARD-Inhalt geplant (in Flask-qr.py)">
|
||||
<option name="closed" value="true" />
|
||||
<created>1699379424586</created>
|
||||
<option name="number" value="00002" />
|
||||
<option name="presentableId" value="LOCAL-00002" />
|
||||
<option name="project" value="LOCAL" />
|
||||
<updated>1699379424586</updated>
|
||||
</task>
|
||||
<option name="localTasksCounter" value="3" />
|
||||
<servers />
|
||||
</component>
|
||||
<component name="Vcs.Log.Tabs.Properties">
|
||||
@@ -136,6 +148,7 @@
|
||||
</component>
|
||||
<component name="VcsManagerConfiguration">
|
||||
<MESSAGE value="css,mail,tel,url,calendar fertig" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="css,mail,tel,url,calendar fertig" />
|
||||
<MESSAGE value="VCARD-Inhalt geplant (in Flask-qr.py)" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="VCARD-Inhalt geplant (in Flask-qr.py)" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -3,6 +3,7 @@ FROM python:slim
|
||||
LABEL authors="tebarius"
|
||||
LABEL version="1.1"
|
||||
LABEL description="QR-Code-Generator-Server with Flask-App"
|
||||
LABEL platform="Raspberry Pi 3 with Raspian"
|
||||
|
||||
WORKDIR /app
|
||||
COPY ./app /app/
|
||||
|
||||
@@ -66,28 +66,63 @@ def makeqr():
|
||||
data = f"tel:{request.args.get('tel')}"
|
||||
|
||||
elif request.args.get('type') == "vcard":
|
||||
#BEGIN:VCARD
|
||||
#VERSION:3.0
|
||||
#N:Nachname;Vorname;;Titel;
|
||||
#FN:Titel Vorname Nachname
|
||||
#ORG:Firma
|
||||
#TITLE:Job-Titel(Funktion)
|
||||
#ADR:Postfach;Adresszusatz;straße;stadt;Bundesland;plz;Land
|
||||
#TEL;TYPE=VOICE,WORK:Telefon
|
||||
#TEL;TYPE=CELL,WORK:Mobil
|
||||
#TEL;TYPE=VOICE,HOME:Telefon
|
||||
#TEL;TYPE=CELL,HOME:Mobil
|
||||
#TEL;FAX:Fax
|
||||
#EMAIL;TYPE=WORK:E-Mail
|
||||
#EMAIL;TYPE=HOME:E-Mail
|
||||
#URL:website
|
||||
#BDAY:--0203
|
||||
#NICKNAME:spitzname
|
||||
#END:VCARD
|
||||
pass
|
||||
|
||||
elif request.args.get('type') == "geo":
|
||||
pass
|
||||
# BEGIN:VCARD
|
||||
# VERSION:3.0
|
||||
# N:Nachname;Vorname;;Titel;
|
||||
# FN:Titel Vorname Nachname
|
||||
# ORG:Firma
|
||||
# TITLE:Job-Titel(Funktion)
|
||||
# ADR:Postfach;Adresszusatz;straße;stadt;Bundesland;plz;Land
|
||||
# TEL;TYPE=VOICE,WORK:Telefon
|
||||
# TEL;TYPE=CELL,WORK:Mobil
|
||||
# TEL;TYPE=VOICE,HOME:Telefon
|
||||
# TEL;TYPE=CELL,HOME:Mobil
|
||||
# TEL;TYPE=FAX:Fax
|
||||
# EMAIL;TYPE=WORK:E-Mail
|
||||
# EMAIL;TYPE=HOME:E-Mail
|
||||
# URL:website
|
||||
# BDAY:--0203
|
||||
# NICKNAME:spitzname
|
||||
# END:VCARD
|
||||
titel = request.args.get("titel")
|
||||
if titel != "":
|
||||
titel += " "
|
||||
data = (f"BEGIN:VCARD\nVERSION:3.0\nN:{request.args.get('nname')};"
|
||||
f"{request.args.get("vname")};;{titel};\nFN:{titel}"
|
||||
f"{request.args.get("vname")} {request.args.get("nname")}\n"
|
||||
f"ADR:{request.args.get("pbox")};{request.args.get("adresszusatz")};"
|
||||
f"{request.args.get("strasse")};{request.args.get("ort")};"
|
||||
f"{request.args.get("bland")};{request.args.get("plz")};"
|
||||
f"{request.args.get("land")}\n")
|
||||
if request.args.get("org") != "":
|
||||
data += f"ORG:{request.args.get("org")}\n"
|
||||
if request.args.get("jtitel") != "":
|
||||
data += f"TITLE:{request.args.get("jtitel")}\n"
|
||||
if request.args.get("tel-a") != "":
|
||||
data += f"TEL;TYPE=VOICE,WORK:{request.args.get("tel-a")}\n"
|
||||
if request.args.get("mobil-a") != "":
|
||||
data += f"TEL;TYPE=CELL,WORK:{request.args.get("mobil-a")}\n"
|
||||
if request.args.get("tel-p") != "":
|
||||
data += f"TEL;TYPE=VOICE,HOME:{request.args.get("tel-p")}\n"
|
||||
if request.args.get("mobil-p") != "":
|
||||
data += f"TEL;TYPE=CELL,HOME:{request.args.get("mobil-p")}\n"
|
||||
if request.args.get("fax") != "":
|
||||
data += f"TEL;TYPE=FAX:{request.args.get("fax")}\n"
|
||||
if request.args.get("mail-a") != "":
|
||||
data += f"EMAIL;TYPE=WORK:{request.args.get("mail-a")}\n"
|
||||
if request.args.get("mail-p") != "":
|
||||
data += f"EMAIL;TYPE=HOME:{request.args.get("mail-p")}\n"
|
||||
if request.args.get("url") != "":
|
||||
data += f"URL:{request.args.get("url")}\n"
|
||||
if request.args.get("nickname") != "":
|
||||
data += f"NICKNAME:{request.args.get("nickname")}\n"
|
||||
if request.args.get("gebdate") != "":
|
||||
gebdate = request.args.get('gebdate').replace('-', '')
|
||||
if request.args.get("ohneJahr"):
|
||||
data += f"BDAY:--{gebdate[4:]}\n"
|
||||
else:
|
||||
data += f"BDAY:{gebdate}\n"
|
||||
data += "END:VCARD\n"
|
||||
|
||||
elif request.args.get('type') == "wifi":
|
||||
passw = (request.args.get("passw").replace("\\", "\\\\").replace(";", "\\;")
|
||||
|
||||
@@ -2,26 +2,26 @@
|
||||
text-align: center;
|
||||
background-color: #eee;
|
||||
border-radius: 60px;
|
||||
filter: drop-shadow(10px 10px 20px blue);
|
||||
font-size: 70px;
|
||||
filter: drop-shadow(10px 10px 15px blue);
|
||||
font-size: 60px;
|
||||
}
|
||||
p {
|
||||
text-align: center;
|
||||
font-size: 50px;
|
||||
font-size: 40px;
|
||||
}
|
||||
div {
|
||||
text-align: center;
|
||||
font-size: 50px;
|
||||
font-size: 40px;
|
||||
}
|
||||
form {
|
||||
text-align: center;
|
||||
font-size: 50px;
|
||||
font-size: 40px;
|
||||
}
|
||||
input { font-size: 30px;
|
||||
input { font-size: 40px;
|
||||
}
|
||||
button {
|
||||
border: solid gainsboro;
|
||||
font-size: 30px;
|
||||
font-size: 40px;
|
||||
margin: 15px;
|
||||
border-radius: 50px;
|
||||
filter: drop-shadow(10px 10px 10px blue);
|
||||
@@ -30,12 +30,12 @@
|
||||
{
|
||||
transform: scale(4);
|
||||
margin: 10px;
|
||||
vertical-align:12px;
|
||||
vertical-align:10px;
|
||||
}
|
||||
input[type='checkbox']
|
||||
{
|
||||
transform: scale(4);
|
||||
margin: 10px;
|
||||
vertical-align:12px;
|
||||
vertical-align:10px;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,9 +6,9 @@
|
||||
<div><button><a href="./text.html">einfacher Text </a></button></div>
|
||||
<div><button><a href="./url.html">URL/Website-Link</a></button></div>
|
||||
<div><button><a href="./tel.html">Telefonnummer</a></button></div>
|
||||
<!--<div><button><a href="./vcard.html">Visitenkarte (vCard)</a></button></div>-->
|
||||
<!--<div><button><a href="./geo.html">geographische Koordinaten</a></button></div>-->
|
||||
<div><button><a href="./mail.html">EMail-Adresse</a></button></div>
|
||||
<<div><button><a href="./wifi.html">WIFI</a></button></div>
|
||||
<div><button><a href="./wifi.html">WIFI</a></button></div>
|
||||
<div><button><a href="./cal.html">Kalender-Termin</a></button></div>
|
||||
<div><button><a href="./vcard.html">Visitenkarte (vCard)</a></button></div>
|
||||
{% endblock %}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
{{ data }} <br>
|
||||
<br>
|
||||
<!--suppress HtmlUnknownTarget -->
|
||||
<img src="{{ data|qrcode(fit=True, box_size=15, border=2, ) }}" alt="QR-Code für {{ data }}">
|
||||
<img src="{{ data|qrcode(fit=True, box_size=10, border=2, ) }}" alt="QR-Code für {{ data }}">
|
||||
</p>
|
||||
<p>
|
||||
<a href="./">Noch einmal bitte!</a>
|
||||
|
||||
Reference in New Issue
Block a user