summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--index.pl14
1 files changed, 11 insertions, 3 deletions
diff --git a/index.pl b/index.pl
index aaa0acf..7ac24b6 100644
--- a/index.pl
+++ b/index.pl
@@ -319,6 +319,7 @@ sub handle_request {
my $with_related = $self->param('recursive') // 0;
my $callback = $self->param('callback');
my $apiver = $self->param('version') // 0;
+ my @train_types = split( /,/, $self->param('train_types') // q{} );
my %opt;
my $api_version
@@ -399,9 +400,10 @@ sub handle_request {
}
for my $result (@results) {
- my $platform = ( split( / /, $result->platform ) )[0];
- my $line = $result->line;
- my $delay = $result->delay;
+ my $platform = ( split( / /, $result->platform ) )[0];
+ my $line = $result->line;
+ my $train_type = $result->type;
+ my $delay = $result->delay;
if ( $via and $result->can('route_post') ) {
$via =~ s{ , \s* }{|}gx;
my @route = $result->route_post;
@@ -418,6 +420,12 @@ sub handle_request {
{
next;
}
+ if ( @train_types
+ and
+ not( List::MoreUtils::any { $train_type =~ m{^$_} } @train_types ) )
+ {
+ next;
+ }
if ( $backend eq 'iris' and $admode eq 'arr' and not $result->arrival )
{
next;