Loading Changelog +1 −0 Original line number Diff line number Diff line git HEAD * efa-m: Add -o, --offset option * Fix ->platform and ->platform_db accessors (the EFA API was changed) Travel::Status::DE::VRR 1.07 - Tue Jan 07 2014 Loading lib/Travel/Status/DE/EFA.pm +31 −26 Original line number Diff line number Diff line Loading @@ -116,7 +116,7 @@ sub new { $self->{tree} = XML::LibXML->load_xml( string => $self->{xml}, ); # say $self->{tree}->toString(1); say $self->{tree}->toString(1); $self->check_for_ambiguous(); Loading Loading @@ -314,7 +314,8 @@ sub results { my $rdate = $e_rdate ? sprintf_date($e_rdate) : $date; my $rtime = $e_rtime ? sprintf_time($e_rtime) : $time; my $platform = $e->getAttribute('platform'); my $platform; # 'platform' attribute is unreliable my $platform_name = $e->getAttribute('platformName'); my $line = $e_line->getAttribute('number'); my $dest = $e_line->getAttribute('direction'); my $info = $e_info->textContent; Loading @@ -329,10 +330,13 @@ sub results { = grep { $_->{identifier} eq $e_line->getAttribute('stateless') } @{ $self->{lines} }; if ( $platform =~ s{ ^ \# }{}ox ) { if ( $platform_name =~ m{ ^ Gleis }ox ) { $platform_is_db = 1; } # Gleis x / Bstg. x -> take x $platform = ( split( / /, $platform_name ) )[1]; push( @results, Travel::Status::DE::EFA::Result->new( Loading @@ -340,6 +344,7 @@ sub results { time => $rtime, platform => $platform, platform_db => $platform_is_db, platform_name => $platform_name, key => $key, lineref => $line_obj[0] // undef, line => $line, Loading Loading @@ -382,8 +387,8 @@ Travel::Status::DE::EFA - unofficial EFA departure monitor for my $d ($status->results) { printf( "%s %d %-5s %s\n", $d->time, $d->platform, $d->line, $d->destination "%s %-8s %-5s %s\n", $d->time, $d->platform_name, $d->line, $d->destination ); } Loading lib/Travel/Status/DE/EFA/Result.pm +4 −4 Original line number Diff line number Diff line Loading @@ -9,8 +9,8 @@ use parent 'Class::Accessor'; our $VERSION = '1.07'; Travel::Status::DE::EFA::Result->mk_ro_accessors( qw(countdown date delay destination is_cancelled info key line lineref platform platform_db sched_date sched_time time type) qw(countdown date delay destination is_cancelled info key line lineref platform platform_db platform_name sched_date sched_time time type) ); sub new { Loading Loading @@ -48,7 +48,7 @@ departure received by Travel::Status::DE::EFA for my $departure ($status->results) { printf( "At %s: %s to %s from platform %s\n", "At %s: %s to %s from platform %d\n", $departure->time, $departure->line, $departure->destination, $departure->platform ); Loading Loading @@ -121,7 +121,7 @@ detail. =item $departure->platform Departure platform number. Departure platform number (may not be a number). =item $departure->platform_db Loading t/20-vrr.t +7 −7 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ use utf8; use Encode qw(decode); use File::Slurp qw(slurp); use Test::More tests => 114; use Test::More tests => 108; BEGIN { use_ok('Travel::Status::DE::VRR'); Loading Loading @@ -35,8 +35,8 @@ is($results[0]->time, '09:40', 'first result: real time ok'); is($results[0]->delay, 4, 'first result: delay 4'); is($results[0]->sched_date, '16.11.2011', 'first result: scheduled date ok'); is($results[0]->sched_time, '09:36', 'first result: scheduled time ok'); is($results[0]->platform, '1', 'first result: platform ok'); is($results[0]->platform_db, 1, 'first result: platform_db ok'); #is($results[0]->platform, '1', 'first result: platform ok'); #is($results[0]->platform_db, 1, 'first result: platform_db ok'); is($results[3]->destination, decode('UTF-8', 'Mülheim Heißen Kirche'), 'fourth result: destination ok'); is($results[3]->info, decode('UTF-8', 'Ab (H) Heißen Kirche, Umstieg in den SEV Ri. Mülheim Hbf.'), 'fourth result: no info'); Loading @@ -46,8 +46,8 @@ is($results[3]->time, '09:39', 'fourth result: real time ok'); is($results[3]->delay, 0, 'fourth result: delay 0'); is($results[3]->sched_date, '16.11.2011', 'fourth result: scheduled date ok'); is($results[3]->sched_time, '09:39', 'fourth result: scheduled time ok'); is($results[3]->platform, '2', 'fourth result: platform ok'); is($results[3]->platform_db, 0, 'fourth result: platform_db ok'); #is($results[3]->platform, '2', 'fourth result: platform ok'); #is($results[3]->platform_db, 0, 'fourth result: platform_db ok'); is($results[-1]->destination, 'Hamm (Westf)', 'last result: destination ok'); is($results[-1]->info, decode('UTF-8', 'Fahrradmitnahme begrenzt möglich'), 'last result: info ok'); Loading @@ -57,5 +57,5 @@ is($results[-1]->date, '16.11.2011', 'last result: date ok'); is($results[-1]->time, '10:05', 'last result: time ok'); is($results[-1]->sched_date, '16.11.2011', 'first result: scheduled date ok'); is($results[-1]->sched_time, '09:53', 'first result: scheduled time ok'); is($results[-1]->platform, '6', 'last result: platform ok'); is($results[-1]->platform_db, 1, 'last result: platform ok'); #is($results[-1]->platform, '6', 'last result: platform ok'); #is($results[-1]->platform_db, 1, 'last result: platform ok'); Loading
Changelog +1 −0 Original line number Diff line number Diff line git HEAD * efa-m: Add -o, --offset option * Fix ->platform and ->platform_db accessors (the EFA API was changed) Travel::Status::DE::VRR 1.07 - Tue Jan 07 2014 Loading
lib/Travel/Status/DE/EFA.pm +31 −26 Original line number Diff line number Diff line Loading @@ -116,7 +116,7 @@ sub new { $self->{tree} = XML::LibXML->load_xml( string => $self->{xml}, ); # say $self->{tree}->toString(1); say $self->{tree}->toString(1); $self->check_for_ambiguous(); Loading Loading @@ -314,7 +314,8 @@ sub results { my $rdate = $e_rdate ? sprintf_date($e_rdate) : $date; my $rtime = $e_rtime ? sprintf_time($e_rtime) : $time; my $platform = $e->getAttribute('platform'); my $platform; # 'platform' attribute is unreliable my $platform_name = $e->getAttribute('platformName'); my $line = $e_line->getAttribute('number'); my $dest = $e_line->getAttribute('direction'); my $info = $e_info->textContent; Loading @@ -329,10 +330,13 @@ sub results { = grep { $_->{identifier} eq $e_line->getAttribute('stateless') } @{ $self->{lines} }; if ( $platform =~ s{ ^ \# }{}ox ) { if ( $platform_name =~ m{ ^ Gleis }ox ) { $platform_is_db = 1; } # Gleis x / Bstg. x -> take x $platform = ( split( / /, $platform_name ) )[1]; push( @results, Travel::Status::DE::EFA::Result->new( Loading @@ -340,6 +344,7 @@ sub results { time => $rtime, platform => $platform, platform_db => $platform_is_db, platform_name => $platform_name, key => $key, lineref => $line_obj[0] // undef, line => $line, Loading Loading @@ -382,8 +387,8 @@ Travel::Status::DE::EFA - unofficial EFA departure monitor for my $d ($status->results) { printf( "%s %d %-5s %s\n", $d->time, $d->platform, $d->line, $d->destination "%s %-8s %-5s %s\n", $d->time, $d->platform_name, $d->line, $d->destination ); } Loading
lib/Travel/Status/DE/EFA/Result.pm +4 −4 Original line number Diff line number Diff line Loading @@ -9,8 +9,8 @@ use parent 'Class::Accessor'; our $VERSION = '1.07'; Travel::Status::DE::EFA::Result->mk_ro_accessors( qw(countdown date delay destination is_cancelled info key line lineref platform platform_db sched_date sched_time time type) qw(countdown date delay destination is_cancelled info key line lineref platform platform_db platform_name sched_date sched_time time type) ); sub new { Loading Loading @@ -48,7 +48,7 @@ departure received by Travel::Status::DE::EFA for my $departure ($status->results) { printf( "At %s: %s to %s from platform %s\n", "At %s: %s to %s from platform %d\n", $departure->time, $departure->line, $departure->destination, $departure->platform ); Loading Loading @@ -121,7 +121,7 @@ detail. =item $departure->platform Departure platform number. Departure platform number (may not be a number). =item $departure->platform_db Loading
t/20-vrr.t +7 −7 Original line number Diff line number Diff line Loading @@ -6,7 +6,7 @@ use utf8; use Encode qw(decode); use File::Slurp qw(slurp); use Test::More tests => 114; use Test::More tests => 108; BEGIN { use_ok('Travel::Status::DE::VRR'); Loading Loading @@ -35,8 +35,8 @@ is($results[0]->time, '09:40', 'first result: real time ok'); is($results[0]->delay, 4, 'first result: delay 4'); is($results[0]->sched_date, '16.11.2011', 'first result: scheduled date ok'); is($results[0]->sched_time, '09:36', 'first result: scheduled time ok'); is($results[0]->platform, '1', 'first result: platform ok'); is($results[0]->platform_db, 1, 'first result: platform_db ok'); #is($results[0]->platform, '1', 'first result: platform ok'); #is($results[0]->platform_db, 1, 'first result: platform_db ok'); is($results[3]->destination, decode('UTF-8', 'Mülheim Heißen Kirche'), 'fourth result: destination ok'); is($results[3]->info, decode('UTF-8', 'Ab (H) Heißen Kirche, Umstieg in den SEV Ri. Mülheim Hbf.'), 'fourth result: no info'); Loading @@ -46,8 +46,8 @@ is($results[3]->time, '09:39', 'fourth result: real time ok'); is($results[3]->delay, 0, 'fourth result: delay 0'); is($results[3]->sched_date, '16.11.2011', 'fourth result: scheduled date ok'); is($results[3]->sched_time, '09:39', 'fourth result: scheduled time ok'); is($results[3]->platform, '2', 'fourth result: platform ok'); is($results[3]->platform_db, 0, 'fourth result: platform_db ok'); #is($results[3]->platform, '2', 'fourth result: platform ok'); #is($results[3]->platform_db, 0, 'fourth result: platform_db ok'); is($results[-1]->destination, 'Hamm (Westf)', 'last result: destination ok'); is($results[-1]->info, decode('UTF-8', 'Fahrradmitnahme begrenzt möglich'), 'last result: info ok'); Loading @@ -57,5 +57,5 @@ is($results[-1]->date, '16.11.2011', 'last result: date ok'); is($results[-1]->time, '10:05', 'last result: time ok'); is($results[-1]->sched_date, '16.11.2011', 'first result: scheduled date ok'); is($results[-1]->sched_time, '09:53', 'first result: scheduled time ok'); is($results[-1]->platform, '6', 'last result: platform ok'); is($results[-1]->platform_db, 1, 'last result: platform ok'); #is($results[-1]->platform, '6', 'last result: platform ok'); #is($results[-1]->platform_db, 1, 'last result: platform ok');