Unverified Commit 30eff168 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

Route/Part, efa: Expose via delays

parent 10acec32
Loading
Loading
Loading
Loading
+16 −5
Original line number Diff line number Diff line
@@ -173,7 +173,7 @@ sub format_footpath {
	return $str;
}

sub format_delay {
sub format_delay_incl {
	my ( $delay, $len ) = @_;
	if ( $delay and $len ) {
		return sprintf( "(%+${len}d)", $delay );
@@ -181,6 +181,14 @@ sub format_delay {
	return q{};
}

sub format_delay_excl {
	my ( $delay, $len ) = @_;
	if ( $delay and $len ) {
		return sprintf( " %+${len}d ", $delay );
	}
	return q{};
}

sub display_routes {
	my (@routes) = @_;

@@ -269,21 +277,24 @@ sub display_connection {
	printf(
		"%-5s %-${delay_fmt}s ab  %-30s\n",
		$c->departure_time,
		format_delay( $c->departure_delay, $delay_len ),
		format_delay_incl( $c->departure_delay, $delay_len ),
		$c->departure_stop_and_platform,
	);

	if ( $opt->{'full-route'} ) {
		for my $via_stop ( $c->via ) {
			printf( "%-5s %-${delay_fmt}s     %-30s %s\n",
				$via_stop->[1], q{}, $via_stop->[2], $via_stop->[3] );
			printf(
				"%-5s %-${delay_fmt}s     %-30s %s\n",
				$via_stop->[1], format_delay_excl( $via_stop->[4], $delay_len ),
				$via_stop->[2], $via_stop->[3]
			);
		}
	}

	printf(
		"%-5s %-${delay_fmt}s an  %-30s %s\n",
		$c->arrival_time,
		format_delay( $c->arrival_delay, $delay_len ),
		format_delay_incl( $c->arrival_delay, $delay_len ),
		$c->arrival_stop_and_platform, $occupancy
	);

+5 −3
Original line number Diff line number Diff line
@@ -728,6 +728,7 @@ sub parse_xml_part {

			my $name      = $ve->getAttribute('name');
			my $platform  = $ve->getAttribute('platformName');
			my $arr_delay = $ve->getAttribute('arrDelay');

			if (   $name eq $hash->{departure_stop}
				or $name eq $hash->{arrival_stop} )
@@ -741,7 +742,8 @@ sub parse_xml_part {
					$self->itddate_str($e_vdate),
					$self->itdtime_str($e_vtime),
					$name,
					$platform
					$platform,
					$arr_delay,
				]
			);
		}
+1 −1
Original line number Diff line number Diff line
@@ -78,7 +78,7 @@ is( $c0->arrival_time, '14:02', 'r0,0: artime' );
is( $c0->arrival_stime, '14:02',      'r0,0: astime' );

is_deeply( ($c0->via)[0],
	['27.11.2011', '13:56', 'Essen Florastr.', 'Bstg. 1'],
	['27.11.2011', '13:56', 'Essen Florastr.', 'Bstg. 1', undef],
	'r0,0: via[0]');

is( $c1->delay, 3, 'r0,1: delay' );