Loading Changelog +1 −0 Original line number Diff line number Diff line git HEAD * Result->route_interesting: Also consider airports * Result: Add route_info accessor Travel::Status::DE::DeutscheBahn 1.04 - Sun May 03 2015 Loading bin/db-ris +5 −0 Original line number Diff line number Diff line Loading @@ -90,6 +90,10 @@ sub display_result { @{$line}[ 0 .. 5 ] ); if ( $line->[7] ) { print " " . $line->[7] . "\n"; } if ($show_full_route) { print "\n" . $line->[6] . "\n\n\n"; } Loading Loading @@ -128,6 +132,7 @@ for my $d ( $status->results() ) { $d->info, join( "\n", map { sprintf( '%-5s %s', @{$_} ) } $d->route_timetable ), $d->route_info, ] ); } Loading lib/Travel/Status/DE/DeutscheBahn.pm +21 −18 Original line number Diff line number Diff line Loading @@ -177,6 +177,7 @@ sub results { [ 'dest', './td[@class="route"]//a' ], [ 'platform', './td[@class="platform"]' ], [ 'info', './td[@class="ris"]' ], [ 'routeinfo', './td[@class="route"]//span[@class="red bold"]' ], ); @parts = map { [ $_->[0], XML::LibXML::XPathExpression->new( $_->[1] ) ] } Loading @@ -200,7 +201,7 @@ sub results { my @via; my $first = 1; my ( $time, $train, $route, $dest, $platform, $info ) my ( $time, $train, $route, $dest, $platform, $info, $routeinfo ) = map { get_node( $tr, @{$_} ) } @parts; my $e_train_more = ( $tr->findnodes($xp_train_more) )[0]; Loading @@ -216,8 +217,9 @@ sub results { $platform //= q{}; $info //= q{}; $routeinfo //= q{}; for my $str ( $time, $train, $dest, $platform, $info ) { for my $str ( $time, $train, $dest, $platform, $info, $routeinfo ) { $str =~ s/\n/ /mg; $str =~ tr/ //s; $str =~ s/^ +//; Loading Loading @@ -248,6 +250,7 @@ sub results { route_end => $dest, platform => $platform, info_raw => $info, routeinfo_raw => $routeinfo, ) ); } Loading lib/Travel/Status/DE/DeutscheBahn/Result.pm +17 −1 Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ use parent 'Class::Accessor'; our $VERSION = '1.04'; Travel::Status::DE::DeutscheBahn::Result->mk_ro_accessors( qw(date time train route_end route_raw platform info_raw)); qw(date time train route_end route_raw platform info_raw routeinfo_raw)); sub new { my ( $obj, %conf ) = @_; Loading Loading @@ -75,6 +75,17 @@ sub route { return @stops; } sub route_info { my ($self) = @_; my $route_info = $self->routeinfo_raw; $route_info =~ s{ ^ [\s\n]+ }{}x; $route_info =~ s{ [\s\n]+ $ }{}x; return $route_info; } sub route_interesting { my ( $self, $max_parts ) = @_; Loading Loading @@ -264,6 +275,11 @@ B<route_raw>. Similar to B<route>. however, this function returns a list of array references of the form C<< [ arrival time, station name ] >>. =item $result->route_info Returns a string containing information related to the train's route, such as "landslide between X and Y, expect delays". =item $result->time Returns the arrival/departure time as string in "hh:mm" format. Loading Loading
Changelog +1 −0 Original line number Diff line number Diff line git HEAD * Result->route_interesting: Also consider airports * Result: Add route_info accessor Travel::Status::DE::DeutscheBahn 1.04 - Sun May 03 2015 Loading
bin/db-ris +5 −0 Original line number Diff line number Diff line Loading @@ -90,6 +90,10 @@ sub display_result { @{$line}[ 0 .. 5 ] ); if ( $line->[7] ) { print " " . $line->[7] . "\n"; } if ($show_full_route) { print "\n" . $line->[6] . "\n\n\n"; } Loading Loading @@ -128,6 +132,7 @@ for my $d ( $status->results() ) { $d->info, join( "\n", map { sprintf( '%-5s %s', @{$_} ) } $d->route_timetable ), $d->route_info, ] ); } Loading
lib/Travel/Status/DE/DeutscheBahn.pm +21 −18 Original line number Diff line number Diff line Loading @@ -177,6 +177,7 @@ sub results { [ 'dest', './td[@class="route"]//a' ], [ 'platform', './td[@class="platform"]' ], [ 'info', './td[@class="ris"]' ], [ 'routeinfo', './td[@class="route"]//span[@class="red bold"]' ], ); @parts = map { [ $_->[0], XML::LibXML::XPathExpression->new( $_->[1] ) ] } Loading @@ -200,7 +201,7 @@ sub results { my @via; my $first = 1; my ( $time, $train, $route, $dest, $platform, $info ) my ( $time, $train, $route, $dest, $platform, $info, $routeinfo ) = map { get_node( $tr, @{$_} ) } @parts; my $e_train_more = ( $tr->findnodes($xp_train_more) )[0]; Loading @@ -216,8 +217,9 @@ sub results { $platform //= q{}; $info //= q{}; $routeinfo //= q{}; for my $str ( $time, $train, $dest, $platform, $info ) { for my $str ( $time, $train, $dest, $platform, $info, $routeinfo ) { $str =~ s/\n/ /mg; $str =~ tr/ //s; $str =~ s/^ +//; Loading Loading @@ -248,6 +250,7 @@ sub results { route_end => $dest, platform => $platform, info_raw => $info, routeinfo_raw => $routeinfo, ) ); } Loading
lib/Travel/Status/DE/DeutscheBahn/Result.pm +17 −1 Original line number Diff line number Diff line Loading @@ -11,7 +11,7 @@ use parent 'Class::Accessor'; our $VERSION = '1.04'; Travel::Status::DE::DeutscheBahn::Result->mk_ro_accessors( qw(date time train route_end route_raw platform info_raw)); qw(date time train route_end route_raw platform info_raw routeinfo_raw)); sub new { my ( $obj, %conf ) = @_; Loading Loading @@ -75,6 +75,17 @@ sub route { return @stops; } sub route_info { my ($self) = @_; my $route_info = $self->routeinfo_raw; $route_info =~ s{ ^ [\s\n]+ }{}x; $route_info =~ s{ [\s\n]+ $ }{}x; return $route_info; } sub route_interesting { my ( $self, $max_parts ) = @_; Loading Loading @@ -264,6 +275,11 @@ B<route_raw>. Similar to B<route>. however, this function returns a list of array references of the form C<< [ arrival time, station name ] >>. =item $result->route_info Returns a string containing information related to the train's route, such as "landslide between X and Y, expect delays". =item $result->time Returns the arrival/departure time as string in "hh:mm" format. Loading