modified: app.py
This commit is contained in:
29
app.py
29
app.py
@@ -244,9 +244,28 @@ def _escape(value: str) -> str:
|
||||
# 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("/")
|
||||
def index():
|
||||
routes = load_config()
|
||||
|
||||
# Ist die Hauptdomain (/) konfiguriert, wird sie weitergeleitet
|
||||
# statt die Linkliste anzuzeigen.
|
||||
if "/" in routes:
|
||||
return _handle_link(routes["/"])
|
||||
|
||||
rows = "".join(
|
||||
f'<li><a href="{_escape(p)}">{_escape(p)}</a> → '
|
||||
f'<small>{_escape(r)}</small></li>'
|
||||
@@ -270,15 +289,7 @@ def link_redirect(path: str):
|
||||
if target_url is None:
|
||||
target_url = routes.get(path)
|
||||
|
||||
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)
|
||||
return _handle_link(target_url)
|
||||
|
||||
|
||||
@app.errorhandler(404)
|
||||
|
||||
Reference in New Issue
Block a user