From 1a5037db51400c8fdd0cd9210df1310ca757371e Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Thu, 23 Jun 2011 16:36:55 +0200 Subject: Rename mris to db-ris --- bin/db-ris | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100755 bin/db-ris (limited to 'bin/db-ris') diff --git a/bin/db-ris b/bin/db-ris new file mode 100755 index 0000000..95e1c6e --- /dev/null +++ b/bin/db-ris @@ -0,0 +1,83 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use 5.010; + +our $VERSION = '0.0'; + +use Travel::Status::DE::DeutscheBahn; + +my $status = Travel::Status::DE::DeutscheBahn->new( station => shift, ); + +for my $d ( $status->departures() ) { + + my ( @via, @via_main, @via_show ); + + @via = $d->route; + + for my $stop (@via) { + if ( $stop =~ m{ ?Hbf} ) { + push( @via_main, $stop ); + } + } + pop(@via); + + if ( @via_main and @via and $via[0] eq $via_main[0] ) { + shift(@via_main); + } + + if ( @via < 3 ) { + @via_show = @via; + } + else { + @via_show = splice( @via, 0, ( @via_main > 2 ? 1 : 3 - @via_main ) ); + + while ( @via_show < 3 and @via_main ) { + my $stop = shift(@via_main); + if ( $stop ~~ \@via_show or $stop eq $d->destination ) { + next; + } + push( @via_show, $stop ); + } + } + + for my $stop (@via_show) { + $stop =~ s{ ?Hbf}{}; + } + + printf( + "%5s %-10s %-80s %-20s %-2d %s\n", + $d->time, $d->train, join( q{ }, @via_show ), + $d->destination, $d->platform, $d->info + ); +} + +__END__ + +=head1 NAME + +=head1 SYNOPSIS + +=head1 VERSION + +version 0.0 + +=head1 DESCRIPTION + +=head1 OPTIONS + +=head1 EXIT STATUS + +=head1 CONFIGURATION + +=head1 DEPENDENCIES + +=head1 BUGS AND LIMITATIONS + +=head1 AUTHOR + +Copyright (C) 2010 by Daniel Friesel Ederf@finalrewind.orgE + +=head1 LICENSE + +This program is licensed under the same terms as Perl itself. -- cgit v1.2.3