modified: app.py
This commit is contained in:
29
app.py
29
app.py
@@ -244,9 +244,28 @@ def _escape(value: str) -> str:
|
|||||||
# Routen
|
# Routen
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
def _handle_link(target_url: str):
|
||||||
|
"""Leitet weiter oder liefert die Preview-Seite für Bots."""
|
||||||
|
if target_url is None:
|
||||||
|
abort(404)
|
||||||
|
|
||||||
|
# Social-Media-Bots / Preview-Crawler bekommen die Metadaten-Seite
|
||||||
|
if _looks_like_bot():
|
||||||
|
return Response(_render_preview_page(target_url), mimetype="text/html")
|
||||||
|
|
||||||
|
# Alle anderen werden direkt weitergeleitet
|
||||||
|
return redirect(target_url, code=302)
|
||||||
|
|
||||||
|
|
||||||
@app.route("/")
|
@app.route("/")
|
||||||
def index():
|
def index():
|
||||||
routes = load_config()
|
routes = load_config()
|
||||||
|
|
||||||
|
# Ist die Hauptdomain (/) konfiguriert, wird sie weitergeleitet
|
||||||
|
# statt die Linkliste anzuzeigen.
|
||||||
|
if "/" in routes:
|
||||||
|
return _handle_link(routes["/"])
|
||||||
|
|
||||||
rows = "".join(
|
rows = "".join(
|
||||||
f'<li><a href="{_escape(p)}">{_escape(p)}</a> → '
|
f'<li><a href="{_escape(p)}">{_escape(p)}</a> → '
|
||||||
f'<small>{_escape(r)}</small></li>'
|
f'<small>{_escape(r)}</small></li>'
|
||||||
@@ -270,15 +289,7 @@ def link_redirect(path: str):
|
|||||||
if target_url is None:
|
if target_url is None:
|
||||||
target_url = routes.get(path)
|
target_url = routes.get(path)
|
||||||
|
|
||||||
if target_url is None:
|
return _handle_link(target_url)
|
||||||
abort(404)
|
|
||||||
|
|
||||||
# Social-Media-Bots / Preview-Crawler bekommen die Metadaten-Seite
|
|
||||||
if _looks_like_bot():
|
|
||||||
return Response(_render_preview_page(target_url), mimetype="text/html")
|
|
||||||
|
|
||||||
# Alle anderen werden direkt weitergeleitet
|
|
||||||
return redirect(target_url, code=302)
|
|
||||||
|
|
||||||
|
|
||||||
@app.errorhandler(404)
|
@app.errorhandler(404)
|
||||||
|
|||||||
Reference in New Issue
Block a user