Commit e6e55d50 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

Update platform, platform_db accessors for changed EFA API

parent bb2ec692
Loading
Loading
Loading
Loading
+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

+31 −26
Original line number Diff line number Diff line
@@ -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();

@@ -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;
@@ -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(
@@ -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,
@@ -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
        );
    }

+4 −4
Original line number Diff line number Diff line
@@ -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 {
@@ -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
        );
@@ -121,7 +121,7 @@ detail.

=item $departure->platform

Departure platform number.
Departure platform number (may not be a number).

=item $departure->platform_db

+7 −7
Original line number Diff line number Diff line
@@ -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');
@@ -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');
@@ -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');
@@ -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');