Unverified Commit 45845964 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

IRIS, HAFAS: Pass version=raw to obtain raw serialized Perl objects

parent 042a59c8
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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 );
+6 −2
Original line number Diff line number Diff line
@@ -281,17 +281,21 @@ Bitte eine Station aus der Liste auswählen</div>
        <li>Die Parameter <span style="font-family: monospace;">mode=json&amp;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&amp;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