Commit 2c75f4a4 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

JSON interface: add (not-yet-final) replacement train data

parent e3f62e54
Loading
Loading
Loading
Loading
+51 −42
Original line number Diff line number Diff line
@@ -1170,36 +1170,25 @@ sub handle_result {
				if ( $result->sched_departure ) {
					$sched_dep = $result->sched_departure->strftime('%H:%M');
				}
				push(
					@departures,
					{
				my $dep = {
					delayArrival   => $delay_arr,
					delayDeparture => $delay_dep,
					destination    => $result->destination,
					isCancelled    => $result->is_cancelled,
					messages       => {
						delay => [
								map {
									{
										timestamp => $_->[0],
										text      => $_->[1]
									}
								} $result->delay_messages
							map { { timestamp => $_->[0], text => $_->[1] } }
							  $result->delay_messages
						],
						qos => [
								map {
									{
										timestamp => $_->[0],
										text      => $_->[1]
									}
								} $result->qos_messages
							map { { timestamp => $_->[0], text => $_->[1] } }
							  $result->qos_messages
						],
					},
					missingRealtime => (
							(
								not $result->has_realtime
								  and $result->start < $now
							) ? \1 : \0
						( not $result->has_realtime and $result->start < $now )
						? \1
						: \0
					),
					platform           => $result->platform,
					route              => \@json_route,
@@ -1210,9 +1199,29 @@ sub handle_result {
					trainClasses       => [ $result->classes ],
					trainNumber        => $result->train_no,
					via                => [ $result->route_interesting(3) ],
				};
				for my $replaced_by ( $result->replaced_by ) {
					push(
						@{ $dep->{replacementTrains} },
						{
							train       => $replaced_by->train,
							trainType   => $replaced_by->type,
							trainNumber => $replaced_by->train_no
						}
					);
				}
				for my $replacement_for ( $result->replacement_for ) {
					push(
						@{ $dep->{replacedTrains} },
						{
							train       => $replacement_for->train,
							trainType   => $replacement_for->type,
							trainNumber => $replacement_for->train_no
						}
					);
				}
				push( @departures, $dep );
			}
		}
		elsif ( $template eq 'text' ) {
			push(