From 39d159d3718b4be8839a17b06838d046a45c4b29 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Wed, 17 Dec 2014 23:51:49 +0100 Subject: I keep breaking the RIS... --- index.pl | 82 ++++++++++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 54 insertions(+), 28 deletions(-) (limited to 'index.pl') diff --git a/index.pl b/index.pl index c96994b..89a2154 100644 --- a/index.pl +++ b/index.pl @@ -322,34 +322,60 @@ sub handle_request { if ($info) { $info =~ s{ (?: ca\. \s* )? \+ (\d+) }{Verspätung ca $1 Min.}x; } - push( - @departures, - { - time => $time, - train => $result->train, - via => [ $result->route_interesting(3) ], - destination => $result->destination, - platform => $platform, - info => $info, - is_cancelled => $result->can('is_cancelled') - ? $result->is_cancelled - : undef, - messages => { - delay => [ - map { { timestamp => $_->[0], text => $_->[1] } } - $result->delay_messages - ], - qos => [ - map { { timestamp => $_->[0], text => $_->[1] } } - $result->qos_messages - ], - }, - moreinfo => $moreinfo, - delay => $delay, - additional_stops => [ $result->additional_stops ], - canceled_stops => [ $result->canceled_stops ], - } - ); + if ($backend eq 'iris') { + push( + @departures, + { + time => $time, + train => $result->train, + via => [ $result->route_interesting(3) ], + destination => $result->destination, + platform => $platform, + info => $info, + is_cancelled => $result->can('is_cancelled') + ? $result->is_cancelled + : undef, + messages => { + delay => [ + map { { timestamp => $_->[0], text => $_->[1] } } + $result->delay_messages + ], + qos => [ + map { { timestamp => $_->[0], text => $_->[1] } } + $result->qos_messages + ], + }, + moreinfo => $moreinfo, + delay => $delay, + additional_stops => [ $result->additional_stops ], + canceled_stops => [ $result->canceled_stops ], + } + ); + } + else { + push( + @departures, + { + time => $time, + train => $result->train, + via => [ $result->route_interesting(3) ], + destination => $result->destination, + platform => $platform, + info => $info, + is_cancelled => $result->can('is_cancelled') + ? $result->is_cancelled + : undef, + messages => { + delay => [ ], + qos => [ ], + }, + moreinfo => $moreinfo, + delay => $delay, + additional_stops => [ ], + canceled_stops => [ ], + } + ); + } } if ( $template eq 'json' ) { -- cgit v1.2.3