diff options
author | Birte Kristina Friesel <derf@finalrewind.org> | 2024-12-23 19:02:16 +0100 |
---|---|---|
committer | Birte Kristina Friesel <derf@finalrewind.org> | 2024-12-23 19:02:16 +0100 |
commit | e1535415b0ee257b0a475e7de5978612e6153ec3 (patch) | |
tree | c2819324c2cb23a706fa4f61559327538b3271a4 /bin | |
parent | 2d9a53966da3abee99dd03d94cd39d0043cbb01a (diff) |
show journey IDs (optional) and messages
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/dbris-m | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/bin/dbris-m b/bin/dbris-m index f8dd9f7..cc495a8 100755 --- a/bin/dbris-m +++ b/bin/dbris-m @@ -14,6 +14,7 @@ use List::Util qw(max); use Travel::Status::DE::DBRIS; my $developer_mode; +my $show_jid; my $use_cache = 1; my $cache; my ( $json_output, $raw_json_output ); @@ -29,12 +30,13 @@ my $output_bold = -t STDOUT ? "\033[1m" : q{}; my $output_reset = -t STDOUT ? "\033[0m" : q{}; GetOptions( - 'h|help' => sub { show_help(0) }, - 'V|version' => \&show_version, - 'cache!' => \$use_cache, - 'devmode' => \$developer_mode, - 'json' => \$json_output, - 'raw-json' => \$raw_json_output, + 'h|help' => sub { show_help(0) }, + 'j|with-jid' => \$show_jid, + 'V|version' => \&show_version, + 'cache!' => \$use_cache, + 'devmode' => \$developer_mode, + 'json' => \$json_output, + 'raw-json' => \$raw_json_output, ) or show_help(1); @@ -157,23 +159,36 @@ if ($json_output) { } if ( $opt{station} ) { - my $max_line = max map { length( $_->line ) } $status->results; - my $max_dest = max map { length( $_->dest_name ) } $status->results; + my $max_line = max map { length( $_->line ) } $status->results; + my $max_dest + = max map { length( $_->destination // q{} ) } $status->results; my $max_delay = max map { length( $_->delay // q{} ) } $status->results; + my $max_platform + = max map { length( $_->rt_platform // $_->platform // q{} ) } + $status->results; $max_delay += 1; for my $result ( $status->results ) { printf( - "%s %s %${max_line}s %${max_dest}s %s\n", + "%s %s %${max_line}s %${max_dest}s %${max_platform}s\n", $result->is_cancelled ? '--:--' : $result->dep->strftime('%H:%M'), $result->delay ? sprintf( "(%+${max_delay}d)", $result->delay ) : q{ } x ( $max_delay + 2 ), $result->line, - $result->dest_name, + $result->destination // $result->via_last // q{???}, $result->rt_platform // $result->platform // q{} ); + if ($show_jid) { + say $result->id; + } + for my $message ( $result->messages ) { + say $message->{text}; + } + if ( $show_jid or scalar $result->messages ) { + say q{}; + } } } elsif ( $opt{geoSearch} ) { |