summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2020-05-07 22:12:33 +0200
committerDaniel Friesel <derf@finalrewind.org>2020-05-07 22:12:33 +0200
commitdfd50dae2fd80ca7d1f9bf6892067fba93571ed2 (patch)
treec2487dc7817abf85b55931cda9078cd1ba57b3f6
parent8745b66e4956afaf73e39b5966c7733b0e2944d0 (diff)
Result: Report real time by default
Scheduled time is now available via sched_* accessors
-rwxr-xr-xbin/hafas-m2
-rw-r--r--lib/Travel/Status/DE/HAFAS.pm24
-rw-r--r--lib/Travel/Status/DE/HAFAS/Result.pm19
3 files changed, 30 insertions, 15 deletions
diff --git a/bin/hafas-m b/bin/hafas-m
index 7779077..7a379f0 100755
--- a/bin/hafas-m
+++ b/bin/hafas-m
@@ -184,7 +184,7 @@ for my $d ( $status->results() ) {
push(
@output,
[
- $d->time,
+ $d->sched_time,
$d->is_cancelled
? 'CANCELED'
: ( $d->delay ? sprintf( '%+d', $d->delay ) : q{} ),
diff --git a/lib/Travel/Status/DE/HAFAS.pm b/lib/Travel/Status/DE/HAFAS.pm
index 0dccb99..16c879e 100644
--- a/lib/Travel/Status/DE/HAFAS.pm
+++ b/lib/Travel/Status/DE/HAFAS.pm
@@ -348,18 +348,18 @@ sub results {
push(
@{ $self->{results} },
Travel::Status::DE::HAFAS::Result->new(
- date => $date,
- datetime => $datetime,
- datetime_now => $self->{datetime_now},
- raw_delay => $delay,
- raw_e_delay => $e_delay,
- messages => \@messages,
- time => $time,
- train => $train,
- route_end => $dest,
- platform => $platform,
- new_platform => $new_platform,
- info => $info,
+ sched_date => $date,
+ sched_datetime => $datetime,
+ datetime_now => $self->{datetime_now},
+ raw_delay => $delay,
+ raw_e_delay => $e_delay,
+ messages => \@messages,
+ sched_time => $time,
+ train => $train,
+ route_end => $dest,
+ platform => $platform,
+ new_platform => $new_platform,
+ info => $info,
)
);
}
diff --git a/lib/Travel/Status/DE/HAFAS/Result.pm b/lib/Travel/Status/DE/HAFAS/Result.pm
index 2950736..e5c81c0 100644
--- a/lib/Travel/Status/DE/HAFAS/Result.pm
+++ b/lib/Travel/Status/DE/HAFAS/Result.pm
@@ -11,14 +11,29 @@ use parent 'Class::Accessor';
our $VERSION = '2.05';
Travel::Status::DE::HAFAS::Result->mk_ro_accessors(
- qw(date datetime info raw_e_delay raw_delay time train route_end));
+ qw(sched_date date sched_datetime datetime info raw_e_delay raw_delay
+ sched_time time train route_end)
+);
sub new {
my ( $obj, %conf ) = @_;
my $ref = \%conf;
+ bless( $ref, $obj );
- return bless( $ref, $obj );
+ if ( my $delay = $ref->delay ) {
+ $ref->{datetime}
+ = $ref->{sched_datetime}->clone->add( minutes => $delay );
+ $ref->{date} = $ref->{datetime}->strftime('%d.%m.%Y');
+ $ref->{time} = $ref->{datetime}->strftime('%H:%M');
+ }
+ else {
+ $ref->{datetime} = $ref->{sched_datetime};
+ $ref->{date} = $ref->{sched_date};
+ $ref->{time} = $ref->{sched_time};
+ }
+
+ return $ref;
}
sub countdown {