diff options
author | Daniel Friesel <derf@finalrewind.org> | 2020-10-06 19:28:00 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2020-10-06 19:28:00 +0200 |
commit | e8ff730320dc53846d74f3568936b272990cabff (patch) | |
tree | 35a3b0ac43c259fa5f9ad62ccdce96cfd523ee73 /lib | |
parent | a6bbd6302c798995227190bfe7f8a5e7288ff80f (diff) |
Stats: Fix handling of negative cumulative arrival/departure delays1.18.1
Diffstat (limited to 'lib')
-rwxr-xr-x | lib/Travelynx.pm | 17 | ||||
-rw-r--r-- | lib/Travelynx/Command/database.pm | 14 |
2 files changed, 30 insertions, 1 deletions
diff --git a/lib/Travelynx.pm b/lib/Travelynx.pm index 32b6b6d..a5dbcb8 100755 --- a/lib/Travelynx.pm +++ b/lib/Travelynx.pm @@ -2781,7 +2781,7 @@ sub startup { } $next_departure = $journey->{rt_dep_ts}; } - return { + my $ret = { km_route => $km_route, km_beeline => $km_beeline, num_trains => $num_trains, @@ -2793,6 +2793,21 @@ sub startup { delay_arr => $delay_arr, inconsistencies => \@inconsistencies, }; + for my $key ( + qw(min_travel_sched min_travel_real min_interchange_real delay_dep delay_arr) + ) + { + my $strf_key = $key . '_strf'; + my $value = $ret->{$key}; + $ret->{$strf_key} = q{}; + if ( $ret->{$key} < 0 ) { + $ret->{$strf_key} .= '-'; + $value *= -1; + } + $ret->{$strf_key} + .= sprintf( '%02d:%02d', $value / 60, $value % 60 ); + } + return $ret; } ); diff --git a/lib/Travelynx/Command/database.pm b/lib/Travelynx/Command/database.pm index e92dd4b..a257b8b 100644 --- a/lib/Travelynx/Command/database.pm +++ b/lib/Travelynx/Command/database.pm @@ -1038,6 +1038,20 @@ my @migrations = ( } ); }, + + # v22 -> v23 + # 1.18.1 fixes handling of negative cumulative arrival/departure delays + # and introduces additional statistics entries with pre-formatted duration + # strings while at it. Old cache entries lack those. + sub { + my ($db) = @_; + $db->query( + qq{ + truncate journey_stats; + update schema_version set version = 23; + } + ); + }, ); sub setup_db { |