summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/dbris-m20
1 files changed, 18 insertions, 2 deletions
diff --git a/bin/dbris-m b/bin/dbris-m
index 19eb127..994f5f4 100755
--- a/bin/dbris-m
+++ b/bin/dbris-m
@@ -21,7 +21,8 @@ my $use_cache = 1;
my $cache;
my ( $json_output, $raw_json_output );
-my @output;
+my %known_mot = map { $_ => 1 }
+ (qw(ICE EC_IC IR REGIONAL SBAHN BUS SCHIFF UBAHN TRAM ANRUFPFLICHTIG));
binmode( STDOUT, ':encoding(utf-8)' );
for my $arg (@ARGV) {
@@ -156,7 +157,22 @@ if ( $mots and $mots eq 'help' ) {
}
if ($mots) {
- $opt{modes_of_transit} = [ split( qr{, *}, $mots ) ];
+
+ # Passing unknown MOTs to the backend results in HTTP 422 Unprocessable Entity
+ my @mots = split( qr{, *}, $mots );
+ my $found_unknown;
+ for my $mot (@mots) {
+ if ( not $known_mot{$mot} ) {
+ $found_unknown = 1;
+ say STDERR
+"-m / --modes-of-transit: skipping unknown mode of transit '$mot'";
+ }
+ }
+ if ($found_unknown) {
+ say STDERR 'supported modes of transit are: '
+ . join( q{, }, sort keys %known_mot );
+ }
+ $opt{modes_of_transit} = [ grep { $known_mot{$_} } @mots ];
}
my $status = Travel::Status::DE::DBRIS->new(%opt);