summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorBirte Kristina Friesel <derf@finalrewind.org>2024-12-23 19:02:16 +0100
committerBirte Kristina Friesel <derf@finalrewind.org>2024-12-23 19:02:16 +0100
commite1535415b0ee257b0a475e7de5978612e6153ec3 (patch)
treec2819324c2cb23a706fa4f61559327538b3271a4 /bin
parent2d9a53966da3abee99dd03d94cd39d0043cbb01a (diff)
show journey IDs (optional) and messages
Diffstat (limited to 'bin')
-rwxr-xr-xbin/dbris-m35
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} ) {