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" />
|
<option name="autoReloadType" value="SELECTIVE" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<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$/.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/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>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
@@ -83,7 +87,7 @@
|
|||||||
<recent name="D:\mager\Documents\IntelliJ\Docker-Flask-QR" />
|
<recent name="D:\mager\Documents\IntelliJ\Docker-Flask-QR" />
|
||||||
</key>
|
</key>
|
||||||
</component>
|
</component>
|
||||||
<component name="RunManager" selected="Docker.Dockerfile-Raspi">
|
<component name="RunManager">
|
||||||
<configuration default="true" type="docker-deploy" factoryName="dockerfile" temporary="true">
|
<configuration default="true" type="docker-deploy" factoryName="dockerfile" temporary="true">
|
||||||
<deployment type="dockerfile">
|
<deployment type="dockerfile">
|
||||||
<settings />
|
<settings />
|
||||||
@@ -108,7 +112,15 @@
|
|||||||
<option name="project" value="LOCAL" />
|
<option name="project" value="LOCAL" />
|
||||||
<updated>1699219722200</updated>
|
<updated>1699219722200</updated>
|
||||||
</task>
|
</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 />
|
<servers />
|
||||||
</component>
|
</component>
|
||||||
<component name="Vcs.Log.Tabs.Properties">
|
<component name="Vcs.Log.Tabs.Properties">
|
||||||
@@ -136,6 +148,7 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="VcsManagerConfiguration">
|
<component name="VcsManagerConfiguration">
|
||||||
<MESSAGE value="css,mail,tel,url,calendar fertig" />
|
<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>
|
</component>
|
||||||
</project>
|
</project>
|
||||||
@@ -3,6 +3,7 @@ FROM python:slim
|
|||||||
LABEL authors="tebarius"
|
LABEL authors="tebarius"
|
||||||
LABEL version="1.1"
|
LABEL version="1.1"
|
||||||
LABEL description="QR-Code-Generator-Server with Flask-App"
|
LABEL description="QR-Code-Generator-Server with Flask-App"
|
||||||
|
LABEL platform="Raspberry Pi 3 with Raspian"
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
COPY ./app /app/
|
COPY ./app /app/
|
||||||
|
|||||||
@@ -77,17 +77,52 @@ def makeqr():
|
|||||||
# TEL;TYPE=CELL,WORK:Mobil
|
# TEL;TYPE=CELL,WORK:Mobil
|
||||||
# TEL;TYPE=VOICE,HOME:Telefon
|
# TEL;TYPE=VOICE,HOME:Telefon
|
||||||
# TEL;TYPE=CELL,HOME:Mobil
|
# TEL;TYPE=CELL,HOME:Mobil
|
||||||
#TEL;FAX:Fax
|
# TEL;TYPE=FAX:Fax
|
||||||
# EMAIL;TYPE=WORK:E-Mail
|
# EMAIL;TYPE=WORK:E-Mail
|
||||||
# EMAIL;TYPE=HOME:E-Mail
|
# EMAIL;TYPE=HOME:E-Mail
|
||||||
# URL:website
|
# URL:website
|
||||||
# BDAY:--0203
|
# BDAY:--0203
|
||||||
# NICKNAME:spitzname
|
# NICKNAME:spitzname
|
||||||
# END:VCARD
|
# END:VCARD
|
||||||
pass
|
titel = request.args.get("titel")
|
||||||
|
if titel != "":
|
||||||
elif request.args.get('type') == "geo":
|
titel += " "
|
||||||
pass
|
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":
|
elif request.args.get('type') == "wifi":
|
||||||
passw = (request.args.get("passw").replace("\\", "\\\\").replace(";", "\\;")
|
passw = (request.args.get("passw").replace("\\", "\\\\").replace(";", "\\;")
|
||||||
|
|||||||
@@ -2,26 +2,26 @@
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
background-color: #eee;
|
background-color: #eee;
|
||||||
border-radius: 60px;
|
border-radius: 60px;
|
||||||
filter: drop-shadow(10px 10px 20px blue);
|
filter: drop-shadow(10px 10px 15px blue);
|
||||||
font-size: 70px;
|
font-size: 60px;
|
||||||
}
|
}
|
||||||
p {
|
p {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 50px;
|
font-size: 40px;
|
||||||
}
|
}
|
||||||
div {
|
div {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 50px;
|
font-size: 40px;
|
||||||
}
|
}
|
||||||
form {
|
form {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 50px;
|
font-size: 40px;
|
||||||
}
|
}
|
||||||
input { font-size: 30px;
|
input { font-size: 40px;
|
||||||
}
|
}
|
||||||
button {
|
button {
|
||||||
border: solid gainsboro;
|
border: solid gainsboro;
|
||||||
font-size: 30px;
|
font-size: 40px;
|
||||||
margin: 15px;
|
margin: 15px;
|
||||||
border-radius: 50px;
|
border-radius: 50px;
|
||||||
filter: drop-shadow(10px 10px 10px blue);
|
filter: drop-shadow(10px 10px 10px blue);
|
||||||
@@ -30,12 +30,12 @@
|
|||||||
{
|
{
|
||||||
transform: scale(4);
|
transform: scale(4);
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
vertical-align:12px;
|
vertical-align:10px;
|
||||||
}
|
}
|
||||||
input[type='checkbox']
|
input[type='checkbox']
|
||||||
{
|
{
|
||||||
transform: scale(4);
|
transform: scale(4);
|
||||||
margin: 10px;
|
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="./text.html">einfacher Text </a></button></div>
|
||||||
<div><button><a href="./url.html">URL/Website-Link</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="./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="./geo.html">geographische Koordinaten</a></button></div>-->
|
||||||
<div><button><a href="./mail.html">EMail-Adresse</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="./cal.html">Kalender-Termin</a></button></div>
|
||||||
|
<div><button><a href="./vcard.html">Visitenkarte (vCard)</a></button></div>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
{{ data }} <br>
|
{{ data }} <br>
|
||||||
<br>
|
<br>
|
||||||
<!--suppress HtmlUnknownTarget -->
|
<!--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>
|
||||||
<p>
|
<p>
|
||||||
<a href="./">Noch einmal bitte!</a>
|
<a href="./">Noch einmal bitte!</a>
|
||||||
|
|||||||
Reference in New Issue
Block a user