Clarify Departures covers bus/tram/subway too, add clear found/not-found feedback
The API (HAFAS via db-vendo-client) covers all public transport in one system, not just trains -- verified with a mocked bus-stop response (Bus 14/Bus 9/Bus 66 mixed with a regional train, all rendering correctly, no code changes needed since nothing in check()/render() ever filtered by mode). Fixed the "Train departures" wording in code comments and settings UI, which was misleadingly train-specific. Also added an explicit "Found: <station>" confirmation toast on a successful station lookup, distinct from the generic "Saved." toast -- previously the only feedback was a passive "Currently: X" hint, easy to miss and not obviously tied to the save you just did.
This commit is contained in:
1 parent
8c9b3e1bfa
commit
a9ed1b6fb4
3 files changed
+13
-4
No files matched your search
@@ -1,7 +1,12 @@
|
||||
"""Train departures via the free, unofficial db-vendo-client REST API
|
||||
(v6.db.transport.rest) -- no API key needed, wraps Deutsche Bahn's own
|
||||
"""Departure board via the free, unofficial db-vendo-client REST API
|
||||
(v6.db.transport.rest) -- no API key needed, wraps Deutsche Bahn's HAFAS
|
||||
backend the same way a lot of hobby projects/Home Assistant integrations do.
|
||||
|
||||
Not train-only -- HAFAS covers regional/long-distance trains, S-Bahn,
|
||||
U-Bahn/subway, trams, and buses in one system, so a bus stop works exactly
|
||||
the same way as a train station here: search for it by name like any other
|
||||
stop, nothing in check()/render() cares which mode a given departure is.
|
||||
|
||||
It's community-run on donated infrastructure, not an official DB service --
|
||||
expect occasional downtime. check() degrades to None on any failure (via
|
||||
the same try/except pattern as the Navidrome screen), which renders a
|
||||
|
||||
+1
-1
@@ -123,7 +123,7 @@ def create_app(config, screens: dict, scheduler) -> Flask:
|
||||
"results": results,
|
||||
"update_minutes": update_minutes,
|
||||
})
|
||||
return redirect(url_for("settings_departures", saved=1))
|
||||
return redirect(url_for("settings_departures", found=found["name"]))
|
||||
else:
|
||||
config.update_screen_settings("departures", {"results": results, "update_minutes": update_minutes})
|
||||
return redirect(url_for("settings_departures", saved=1))
|
||||
|
||||
@@ -5,6 +5,9 @@
|
||||
{% if error %}
|
||||
<div class="toast error">{{ error }}</div>
|
||||
{% endif %}
|
||||
{% if request.args.get('found') %}
|
||||
<div class="toast">Found: {{ request.args.get('found') }}</div>
|
||||
{% endif %}
|
||||
|
||||
<p class="hint" style="margin: -0.5rem 0 1.25rem;">
|
||||
Uses the free, unofficial db-vendo-client API (v6.db.transport.rest) --
|
||||
@@ -17,8 +20,9 @@
|
||||
<div class="card">
|
||||
<div class="section-label">Station</div>
|
||||
<div class="field">
|
||||
<label for="station">Station name</label>
|
||||
<label for="station">Station or stop name</label>
|
||||
<input type="text" id="station" name="station" placeholder="e.g. Berlin Hauptbahnhof">
|
||||
<p class="hint">Works for bus/tram/subway stops too, not just train stations -- search by name the same way either way.</p>
|
||||
{% if settings.station_label %}
|
||||
<p class="hint">Currently: {{ settings.station_label }}</p>
|
||||
{% endif %}
|
||||
|
||||
Reference in new issue
Block a user