Loading lib/Travel/Status/DE/DeutscheBahn.pm +77 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,21 @@ sub new { return bless( $ref, $obj ); } sub new_from_html { my ( $obj, $html ) = @_; my $ref = { html => $html, }; $ref->{tree} = XML::LibXML->load_html( string => $ref->{html}, recover => 2, suppress_errors => 1, suppress_warnings => 1, ); return bless( $ref, $obj ); } sub departures { my ($self) = @_; Loading Loading @@ -137,30 +152,92 @@ departure monitor =head1 SYNOPSIS use Travel::Status::DE::DeutscheBahn; my $status = Travel::Status::DE::DeutscheBahn->new( station => 'Essen Hbf', ); for my $departure ($status->departures) { printf( "At %s: %s to %s from platform %s\n", $departure->time, $departure->train, $departure->destination, $departure->platform, ); } =head1 VERSION version 0.0 =head1 DESCRIPTION Travel::Status::DE::DeutscheBahn is an interface to the DeutscheBahn arrival/departure monitor available at L<http://mobile.bahn.de/bin/mobil/bhftafel.exe/dn?rt=1>. It takes a station name and (optional) date and time and reports all departures at that station starting at the specified point in time (now if unspecified). By default, it will list the next 20 departures. =head1 METHODS =over =item my $status = Travel::Status::DE::DeutscheBahn->new(I<%opts>) Returns a new Travel::Status::DE::DeutscheBahn element. Supported I<opts> are: =over =item B<station> => I<station> The train station to report for, e.g. "Essen HBf". Mandatory. =item B<date> => I<dd>.I<mm>.I<yyyy> Date to report for. Defaults to the current day. =item B<time> => I<hh>:I<mm> Time to report for. Defaults to now. =back =item $status->departures() Returns a list of departures (20 by default). Each list element is a Travel::Status::DE::DeutscheBahn::Departure(3pm) object. =back =head1 DIAGNOSTICS None. =head1 DEPENDENCIES =over =item * Class::Accessor(3pm) =item * LWP::UserAgent(3pm) =item * XML::LibXML(3pm) =back =head1 BUGS AND LIMITATIONS The web interface also offers arrival monitoring. This is not yet supported in this module. =head1 SEE ALSO mris(1), Travel::Status::DE::DeutscheBahn::Departure(3pm). =head1 AUTHOR Copyright (C) 2011 by Daniel Friesel E<lt>derf@finalrewind.orgE<gt> Loading lib/Travel/Status/DE/DeutscheBahn/Departure.pm +81 −1 Original line number Diff line number Diff line Loading @@ -36,30 +36,110 @@ departure received by Travel::Status::DE::DeutscheBahn =head1 SYNOPSIS for my $departure ($status->departures) { printf( "At %s: %s to %s from platform %s\n", $departure->time, $departure->train, $departure->destination, $departure->platform, ); } =head1 VERSION version version 0.0 =head1 DESCRIPTION Travel::Status::DE::DeutscheBahn::Departure describes a single departure as obtained by Travel::Status::DE::DeutscheBahn. It contains information about the platform, departure time, destination and more. =head1 ACCESSORS =over =item $departure->destination Returns the name of the destination station, e.g. "Dortmund Hbf". =item $departure->info Returns additional information, usually wether the train is on time or delayed. =item $departure->platform Returns the platform from which the train will depart. =item $departure->route Returns a list of station names the train will pass between the selected station and its destination. =item $departure->time Returns the departure time as string in "hh:mm" format. =item $departure->train Returns the line / train name, either in a format like "S 1" (S-Bahn line 1) or "RE 10111" (RegionalExpress train 10111, no line information). =back =head1 METHODS =over =item $departure = Travel::Status::DE::DeutscheBahn::Departure->new(I<%data>) Returns a new Travel::Status::DE::DeutscheBahn::Departure object. You usually do not need to call this. Required I<data>: =over =item B<time> => I<hh:mm> =item B<train> => I<string> =item B<route_raw> => I<string> =item B<route> => I<arrayref> =item B<destination> => I<string> =item B<platform> => I<string> =item B<info> => I<string> =back =back =head1 DIAGNOSTICS None. =head1 DEPENDENCIES =over =item Class::Accessor(3pm) =back =head1 BUGS AND LIMITATIONS Unknown. =head1 SEE ALSO Travel::Status::DE::DeutscheBahn(3pm). =head1 AUTHOR Copyright (C) 2011 by Daniel Friesel E<lt>derf@finalrewind.orgE<gt> Loading bin/mris +1 −1 File changed.Contains only whitespace changes. Show changes Loading
lib/Travel/Status/DE/DeutscheBahn.pm +77 −0 Original line number Diff line number Diff line Loading @@ -53,6 +53,21 @@ sub new { return bless( $ref, $obj ); } sub new_from_html { my ( $obj, $html ) = @_; my $ref = { html => $html, }; $ref->{tree} = XML::LibXML->load_html( string => $ref->{html}, recover => 2, suppress_errors => 1, suppress_warnings => 1, ); return bless( $ref, $obj ); } sub departures { my ($self) = @_; Loading Loading @@ -137,30 +152,92 @@ departure monitor =head1 SYNOPSIS use Travel::Status::DE::DeutscheBahn; my $status = Travel::Status::DE::DeutscheBahn->new( station => 'Essen Hbf', ); for my $departure ($status->departures) { printf( "At %s: %s to %s from platform %s\n", $departure->time, $departure->train, $departure->destination, $departure->platform, ); } =head1 VERSION version 0.0 =head1 DESCRIPTION Travel::Status::DE::DeutscheBahn is an interface to the DeutscheBahn arrival/departure monitor available at L<http://mobile.bahn.de/bin/mobil/bhftafel.exe/dn?rt=1>. It takes a station name and (optional) date and time and reports all departures at that station starting at the specified point in time (now if unspecified). By default, it will list the next 20 departures. =head1 METHODS =over =item my $status = Travel::Status::DE::DeutscheBahn->new(I<%opts>) Returns a new Travel::Status::DE::DeutscheBahn element. Supported I<opts> are: =over =item B<station> => I<station> The train station to report for, e.g. "Essen HBf". Mandatory. =item B<date> => I<dd>.I<mm>.I<yyyy> Date to report for. Defaults to the current day. =item B<time> => I<hh>:I<mm> Time to report for. Defaults to now. =back =item $status->departures() Returns a list of departures (20 by default). Each list element is a Travel::Status::DE::DeutscheBahn::Departure(3pm) object. =back =head1 DIAGNOSTICS None. =head1 DEPENDENCIES =over =item * Class::Accessor(3pm) =item * LWP::UserAgent(3pm) =item * XML::LibXML(3pm) =back =head1 BUGS AND LIMITATIONS The web interface also offers arrival monitoring. This is not yet supported in this module. =head1 SEE ALSO mris(1), Travel::Status::DE::DeutscheBahn::Departure(3pm). =head1 AUTHOR Copyright (C) 2011 by Daniel Friesel E<lt>derf@finalrewind.orgE<gt> Loading
lib/Travel/Status/DE/DeutscheBahn/Departure.pm +81 −1 Original line number Diff line number Diff line Loading @@ -36,30 +36,110 @@ departure received by Travel::Status::DE::DeutscheBahn =head1 SYNOPSIS for my $departure ($status->departures) { printf( "At %s: %s to %s from platform %s\n", $departure->time, $departure->train, $departure->destination, $departure->platform, ); } =head1 VERSION version version 0.0 =head1 DESCRIPTION Travel::Status::DE::DeutscheBahn::Departure describes a single departure as obtained by Travel::Status::DE::DeutscheBahn. It contains information about the platform, departure time, destination and more. =head1 ACCESSORS =over =item $departure->destination Returns the name of the destination station, e.g. "Dortmund Hbf". =item $departure->info Returns additional information, usually wether the train is on time or delayed. =item $departure->platform Returns the platform from which the train will depart. =item $departure->route Returns a list of station names the train will pass between the selected station and its destination. =item $departure->time Returns the departure time as string in "hh:mm" format. =item $departure->train Returns the line / train name, either in a format like "S 1" (S-Bahn line 1) or "RE 10111" (RegionalExpress train 10111, no line information). =back =head1 METHODS =over =item $departure = Travel::Status::DE::DeutscheBahn::Departure->new(I<%data>) Returns a new Travel::Status::DE::DeutscheBahn::Departure object. You usually do not need to call this. Required I<data>: =over =item B<time> => I<hh:mm> =item B<train> => I<string> =item B<route_raw> => I<string> =item B<route> => I<arrayref> =item B<destination> => I<string> =item B<platform> => I<string> =item B<info> => I<string> =back =back =head1 DIAGNOSTICS None. =head1 DEPENDENCIES =over =item Class::Accessor(3pm) =back =head1 BUGS AND LIMITATIONS Unknown. =head1 SEE ALSO Travel::Status::DE::DeutscheBahn(3pm). =head1 AUTHOR Copyright (C) 2011 by Daniel Friesel E<lt>derf@finalrewind.orgE<gt> Loading