diff options
author | Birte Kristina Friesel <derf@finalrewind.org> | 2023-08-15 08:37:14 +0200 |
---|---|---|
committer | Birte Kristina Friesel <derf@finalrewind.org> | 2023-08-15 08:37:14 +0200 |
commit | dfe820952f13ccd792130758303c338dc94d3bc9 (patch) | |
tree | e2be5abe46e037a5526f82a8e6f871755a8258e3 /lib/Travelynx/Controller/Traveling.pm | |
parent | 8f377d4ee5e279e14e26e14857081aa0c8f3184b (diff) |
station board: add iris / hafas links
Diffstat (limited to 'lib/Travelynx/Controller/Traveling.pm')
-rwxr-xr-x | lib/Travelynx/Controller/Traveling.pm | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm index b64fcfa..4d2f22d 100755 --- a/lib/Travelynx/Controller/Traveling.pm +++ b/lib/Travelynx/Controller/Traveling.pm @@ -907,9 +907,17 @@ sub station { $promise->then( sub { my ($status) = @_; - + my $api_link; my @results; + if ($use_hafas) { + + my $iris_eva = List::Util::min grep { $_ >= 1000000 } + @{ $status->station->{evas} // [] }; + if ($iris_eva) { + $api_link = '/s/' . $iris_eva; + } + my $now = $self->now->epoch; @results = map { $_->[0] } sort { $b->[1] <=> $a->[1] } @@ -928,6 +936,9 @@ sub station { }; } else { + + $api_link = '/s/' . $status->{station_eva} . '?hafas=1'; + # You can't check into a train which terminates here @results = grep { $_->departure } @{ $status->{results} }; @@ -991,6 +1002,7 @@ sub station { user_status => $user_status, can_check_out => $can_check_out, connections => $connecting_trains, + api_link => $api_link, title => "travelynx: $status->{station_name}", ); } @@ -1005,6 +1017,7 @@ sub station { related_stations => $status->{related_stations}, user_status => $user_status, can_check_out => $can_check_out, + api_link => $api_link, title => "travelynx: $status->{station_name}", ); } @@ -1020,6 +1033,7 @@ sub station { related_stations => $status->{related_stations}, user_status => $user_status, can_check_out => $can_check_out, + api_link => $api_link, title => "travelynx: $status->{station_name}", ); } |