diff options
| -rw-r--r-- | lib/DBInfoscreen/Controller/Stationboard.pm | 3 | ||||
| -rw-r--r-- | templates/layouts/app.html.ep | 8 | 
2 files changed, 9 insertions, 2 deletions
| diff --git a/lib/DBInfoscreen/Controller/Stationboard.pm b/lib/DBInfoscreen/Controller/Stationboard.pm index 0e1c6aa..8c8365f 100644 --- a/lib/DBInfoscreen/Controller/Stationboard.pm +++ b/lib/DBInfoscreen/Controller/Stationboard.pm @@ -1977,6 +1977,9 @@ sub handle_result {  				);  				return;  			} +			elsif ( $apiver eq 'raw' ) { +				push( @departures, $result ); +			}  			else {    # apiver == 3  				if ( $result->isa('Travel::Status::DE::IRIS::Result') ) {  					my ( $delay_arr, $delay_dep, $sched_arr, $sched_dep ); diff --git a/templates/layouts/app.html.ep b/templates/layouts/app.html.ep index ee8a2dd..ce82662 100644 --- a/templates/layouts/app.html.ep +++ b/templates/layouts/app.html.ep @@ -281,17 +281,21 @@ Bitte eine Station aus der Liste auswählen</div>          <li>Die Parameter <span style="font-family: monospace;">mode=json&version=3</span>            (alternativ <span style="font-family:            monospace;">https://dbf.finalrewind.org/Bahnhofsname.json?version=3</span>) -          bieten ein JSON-IRIS-Interface. Die route-Elemente können zusätzlich +          bieten ein JSON-Interface für IRIS- und HAFAS-Abfahrten. +          Die route-Elemente können zusätzlich            die Felder "isAdditional" oder "isCancelled" enthalten, der Rest sollte            selbsterklärend sein. Im Fehlerfall fehlt das "departures"-Element,            stattdessen wird ein "error"-Element mit Fehlermeldung zurückgegeben.            Bitte maximal 30 Anfragen pro Minute und insbesondere nur eine Anfrage            pro Station und Minute – eine höhere Auflösung haben die Backenddaten            ohnehin nicht.</li> -        <li>Ein JSON-Interface für Zugdetails ist in Arbeit.</li>          <li>Mit <span style="font-family: monospace;">limit</span> kann die Anzahl der            angezeigten / im JSON enthaltenen Abfahrten eingeschränkt werden, z.B.            <span style="font-family: monospace;">limit=10</span> für die ersten zehn.</li> +        <li><span style="font-family: monospace;">mode=json&version=raw</span> +          erlaubt direkten Zugriff auf die serialisierten Travel::Status::DE::{EFA,HAFAS,IRIS}-Objekte. +          Hier gibt es keine stabile API.</li> +        <li>Zugdetails sind ebenfalls per JSON verfügbar und ebenso ohne stabile API.</li>          <li>Dieser Dienst ist Open Source-Software und kann leicht auf eigenen Servern            <a href="https://github.com/derf/db-fakedisplay/blob/master/README.md">installiert</a>            werden. Automatisierte Crawler, die mehrere Dutzend Stationen pro Minute | 
