diff options
Diffstat (limited to 'lib/Travel/Status/DE/EFA/Result.pm')
-rw-r--r-- | lib/Travel/Status/DE/EFA/Result.pm | 64 |
1 files changed, 41 insertions, 23 deletions
diff --git a/lib/Travel/Status/DE/EFA/Result.pm b/lib/Travel/Status/DE/EFA/Result.pm index b8553d7..ee1eafd 100644 --- a/lib/Travel/Status/DE/EFA/Result.pm +++ b/lib/Travel/Status/DE/EFA/Result.pm @@ -4,15 +4,14 @@ use strict; use warnings; use 5.010; -no if $] >= 5.018, warnings => 'experimental::smartmatch'; - use parent 'Class::Accessor'; -our $VERSION = '1.17'; +our $VERSION = '2.00'; Travel::Status::DE::EFA::Result->mk_ro_accessors( - qw(countdown date delay destination is_cancelled info key line lineref - mot platform platform_db platform_name sched_date sched_time time type) + qw(countdown datetime delay destination is_cancelled info key line lineref + mot occupancy operator platform platform_db platform_name rt_datetime + sched_datetime train_type train_name train_no type) ); my @mot_mapping = qw{ @@ -33,6 +32,8 @@ sub new { $ref->{is_cancelled} = 0; } + $ref->{datetime} = $ref->{rt_datetime} // $ref->{sched_datetime}; + return bless( $ref, $obj ); } @@ -128,14 +129,14 @@ departure received by Travel::Status::DE::EFA for my $departure ($status->results) { printf( "At %s: %s to %s from platform %d\n", - $departure->time, $departure->line, $departure->destination, - $departure->platform + $departure->datetime->strftime('%H:%M'), $departure->line, + $departure->destination, $departure->platform ); } =head1 VERSION -version 1.17 +version 2.00 =head1 DESCRIPTION @@ -147,20 +148,19 @@ line number and destination. =head2 ACCESSORS -"Actual" in the description means that the delay (if available) is already -included in the calculation, "Scheduled" means it isn't. - =over =item $departure->countdown -Actual time in minutes from now until the tram/bus/train will depart. +Time in minutes from now until the tram/bus/train will depart, including +realtime data if available. If delay information is available, it is already included. -=item $departure->date +=item $departure->datetime -Actual departure date (DD.MM.YYYY). +DateTime(3pm) object for departure date and time. Realtime data if available, +schedule data otherwise. =item $departure->delay @@ -208,6 +208,14 @@ and 11. Returns the "mode of transport", for instance "zug", "s-bahn", "tram" or "sonstige". +=item $departure->occupancy + +Returns expected occupancy, if available, undef otherwise. + +Occupancy values are passed from the backend as-is. Known values are +"MANY_SEATS" (low occupation), "FEW_SEATS" (high occupation), and +"STANDING_ONLY" (very high occupation). + =item $departure->platform Departure platform number (may not be a number). @@ -228,25 +236,35 @@ object. =item $departure->route_pre -List of stations the train passed (or will have passed) befoe this stop. +List of stations the vehicle passed (or will have passed) before this stop. Each station is a Travel::Status::DE::EFA::Stop(3pm) object. =item $departure->route_post -List of stations the train will pass after this stop. +List of stations the vehicle will pass after this stop. Each station is a Travel::Status::DE::EFA::Stop(3pm) object. -=item $departure->sched_date +=item $departure->rt_datetime + +DateTime(3pm) object holding the departure date and time according to +realtime data. Undef if unknown / unavailable. + +=item $departure->sched_datetime + +DateTime(3pm) object holding the scheduled departure date and time. + +=item $departure->train_type -Scheduled departure date (DD.MM.YYYY). +Train type, e.g. "ICE". Typically only defined for long-distance trains. -=item $departure->sched_time +=item $departure->train_name -Scheduled departure time (HH:MM). +Train name, e.g. "ICE International" or "InterCityExpresS" or "Deichgraf". +Typically only defined for long-distance trains. -=item $departure->time +=item $departure->train_no -Actual departure time (HH:MM). +Train number. Only defined if departure is a train. =item $departure->type @@ -323,7 +341,7 @@ Travel::Status::DE::EFA(3pm). =head1 AUTHOR -Copyright (C) 2011-2015 by Daniel Friesel E<lt>derf@finalrewind.orgE<gt> +Copyright (C) 2011-2023 by Birte Kristina Friesel E<lt>derf@finalrewind.orgE<gt> =head1 LICENSE |