diff options
author | Daniel Friesel <derf@finalrewind.org> | 2017-01-13 08:45:30 +0100 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2017-01-13 08:45:30 +0100 |
commit | 5874d734a0d851369a45f2ad869be03a8699162d (patch) | |
tree | 4bdcc53b21387386eec723cbea1c3eae43f2f86f /lib/Travel | |
parent | 8ba76da148b6fd149954acf07147aaab52fe546c (diff) | |
parent | 742e08cc2861e406dd7b7eff9914355aa39280da (diff) |
Merge branch 'moschlar-mvg-mainz'
Diffstat (limited to 'lib/Travel')
-rw-r--r-- | lib/Travel/Status/DE/MvgMainz.pm | 96 | ||||
-rw-r--r-- | lib/Travel/Status/DE/URA.pm | 6 |
2 files changed, 102 insertions, 0 deletions
diff --git a/lib/Travel/Status/DE/MvgMainz.pm b/lib/Travel/Status/DE/MvgMainz.pm new file mode 100644 index 0000000..4663411 --- /dev/null +++ b/lib/Travel/Status/DE/MvgMainz.pm @@ -0,0 +1,96 @@ +package Travel::Status::DE::MvgMainz; + +use strict; +use warnings; +use 5.010; + +no if $] >= 5.018, warnings => 'experimental::smartmatch'; + +our $VERSION = '2.00'; + +use parent 'Travel::Status::DE::URA'; + +sub new { + my ( $class, %opt ) = @_; + + $opt{ura_base} = 'http://ura.itcs.mvg-mainz.de/interfaces/ura'; + $opt{ura_version} = '1'; + + return $class->SUPER::new(%opt); +} + +1; + +__END__ + +=head1 NAME + +Travel::Status::DE::MvgMainz - unofficial MVG departure monitor. + +=head1 SYNOPSIS + + use Travel::Status::DE::MvgMainz; + + my $status = Travel::Status::DE::MvgMainz->new( + stop => 'Hauptbahnhof West' + ); + + for my $d ($status->results) { + printf( + "%s %-5s %25s (in %d min)\n", + $d->time, $d->line, $d->destination, $d->countdown + ); + } + +=head1 VERSION + +version 2.00 + +=head1 DESCRIPTION + +Travel::Status::DE::MvgMainz is an unofficial interface to the MVG Mainz realtime +departure monitor. + +=head1 METHODS + +=over + +=item my $status = Travel::Status::DE::MvgMainz->new(I<%opt>) + +Requests the departures as specified by I<opts> and returns a new +Travel::Status::DE::MvgMainz object. + +Calls Travel::Status::DE::URA->new with the appropriate B<ura_base> and +B<ura_version> parameters. All I<opts> are passed on. + +See Travel::Status::DE::URA(3pm) for the other methods. + +=back + +=head1 DIAGNOSTICS + +None. + +=head1 DEPENDENCIES + +=over + +=item * Travel::Status::DE::URA(3pm) + +=back + +=head1 BUGS AND LIMITATIONS + +Many. + +=head1 SEE ALSO + +MvgMainz-m(1), Travel::Status::DE::URA(3pm). + +=head1 AUTHOR + +Copyright (C) 2016 by Moritz Schlarb E<lt>moschlar@metalabs.deE<gt> + +=head1 LICENSE + +This module is licensed under the same terms as Perl itself. diff --git a/lib/Travel/Status/DE/URA.pm b/lib/Travel/Status/DE/URA.pm index 474d636..f290e53 100644 --- a/lib/Travel/Status/DE/URA.pm +++ b/lib/Travel/Status/DE/URA.pm @@ -348,6 +348,12 @@ sub get_services { shortname => 'ASEAG', }, { + ura_base => 'http://ura.itcs.mvg-mainz.de/interfaces/ura', + ura_version => 1, + name => 'MVG Mainz', + shortname => 'MvgMainz', + }, + { ura_base => 'http://countdown.api.tfl.gov.uk/interfaces/ura', ura_version => 1, name => 'Transport for London', |