summaryrefslogtreecommitdiff
path: root/index.pl
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2014-12-17 23:51:49 +0100
committerDaniel Friesel <derf@finalrewind.org>2014-12-17 23:51:49 +0100
commit39d159d3718b4be8839a17b06838d046a45c4b29 (patch)
treea89bf629a12afa79dce7bd0c7dc4e31a7b6c3fe4 /index.pl
parent171e80c6c7c334a6fac22e835d72e31a5cf2d2ec (diff)
I keep breaking the RIS...
Diffstat (limited to 'index.pl')
-rw-r--r--index.pl82
1 files changed, 54 insertions, 28 deletions
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' ) {