NAME
Travel::Status::DE::IRIS - Interface to IRIS based web departure monitors.
SYNOPSIS
use Travel::Status::DE::IRIS;
use Travel::Status::DE::IRIS::Stations;
# Get station code for "Essen Hbf" (-> "EE")
my $station = (Travel::Status::DE::IRIS::Stations::get_station_by_name(
'Essen Hbf'))[0][0];
my $status = Travel::Status::DE::IRIS->new(station => $station);
for my $r ($status->results) {
printf(
"%s %s +%-3d %10s -> %s\n",
$r->date, $r->time, $r->delay || 0, $r->line, $r->destination
);
}
VERSION
version 0.02
DESCRIPTION
Travel::Status::DE::IRIS is an unofficial interface to IRIS based web departure monitors such as https://iris.noncd.db.de/wbt/js/index.html?typ=ab&style=qrab&bhf=EE&SecLang=&Zeilen=20&footer=0&disrupt=0.
METHODS
- my $states = Travel::Status::DE::IRIS->new(%opt)
-
Requests schedule and realtime data for a specific station at a specific point in time. Returns a new Travel::Status::DE::IRIS object.
Arguments:
- datetime => datetime-obj
-
A DateTime(3pm) object specifying the point in time. Optional, defaults to the current date and time.
- iris_base => url
-
IRIS base url, defaults to
http://iris.noncd.db.de/iris-tts/timetable
. - station => stationcode
-
Mandatory: Which station to return departures for. Note that this is not a station name, but a station code, such as "EE" (for Essen Hbf) or "KA" (for Aachen Hbf). See Travel::Status::DE::IRIS::Stations(3pm) for a name to code mapping.
All other options are passed to the LWP::UserAgent(3pm) constructor.
- $status->errstr
-
In case of an HTTP request or IRIS error, returns a string describing it. Returns undef otherwise.
- $status->results
-
Returns a list of Travel::Status::DE::IRIS(3pm) objects, each one describing one arrival and/or departure.
DIAGNOSTICS
None.
DEPENDENCIES
DateTime(3pm)
List::Util(3pm)
LWP::UserAgent(3pm)
XML::LibXML(3pm)
BUGS AND LIMITATIONS
Many backend features are not yet exposed.
SEE ALSO
db-iris(1), Travel::Status::DE::IRIS::Result(3pm), Travel::Status::DE::IRIS::Stations(3pm)
AUTHOR
Copyright (C) 2013-2014 by Daniel Friesel <derf@finalrewind.org>
LICENSE
This module is licensed under the same terms as Perl itself.