summaryrefslogtreecommitdiff
path: root/lib/Travel/Status/DE
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Travel/Status/DE')
-rw-r--r--lib/Travel/Status/DE/EFA.pm10
-rw-r--r--lib/Travel/Status/DE/EFA/Departure.pm13
-rw-r--r--lib/Travel/Status/DE/EFA/Stop.pm11
-rw-r--r--lib/Travel/Status/DE/EFA/Trip.pm10
4 files changed, 25 insertions, 19 deletions
diff --git a/lib/Travel/Status/DE/EFA.pm b/lib/Travel/Status/DE/EFA.pm
index 46ba93d..214fab1 100644
--- a/lib/Travel/Status/DE/EFA.pm
+++ b/lib/Travel/Status/DE/EFA.pm
@@ -441,7 +441,8 @@ sub stop {
place => $place,
full_name => $point->{name},
name => $point->{name} =~ s{\Q$place\E,? ?}{}r,
- id => $point->{stateless},
+ id_num => $point->{ref}{id},
+ id_code => $point->{ref}{gid},
);
return $self->{stop};
@@ -468,7 +469,8 @@ sub stops {
place => $stop->{place},
name => $stop->{name},
full_name => $stop->{nameWithPlace},
- id => $stop->{stopID},
+ id_num => $stop->{stopID},
+ id_code => $stop->{gid},
)
);
}
@@ -588,8 +590,8 @@ sub results_stopfinder {
place => $stop->{ref}{place},
full_name => $stop->{name},
name => $stop->{object},
- id => $stop->{stateless},
- stop_id => $stop->{ref}{gid},
+ id_num => $stop->{ref}{id},
+ id_code => $stop->{ref}{gid},
)
);
}
diff --git a/lib/Travel/Status/DE/EFA/Departure.pm b/lib/Travel/Status/DE/EFA/Departure.pm
index fb7b374..de135af 100644
--- a/lib/Travel/Status/DE/EFA/Departure.pm
+++ b/lib/Travel/Status/DE/EFA/Departure.pm
@@ -15,7 +15,7 @@ our $VERSION = '3.05';
Travel::Status::DE::EFA::Departure->mk_ro_accessors(
qw(countdown datetime delay destination is_cancelled key line lineref mot
occupancy operator origin platform platform_db platform_name rt_datetime
- sched_datetime stateless stop_id train_type train_name train_no type)
+ sched_datetime stateless stop_id_num train_type train_name train_no type)
);
my @mot_mapping = qw{
@@ -69,7 +69,7 @@ sub new {
platform_type => $departure->{pointType},
key => $departure->{servingLine}{key},
stateless => $departure->{servingLine}{stateless},
- stop_id => $departure->{stopID},
+ stop_id_num => $departure->{stopID},
line => $departure->{servingLine}{symbol},
train_type => $departure->{servingLine}{trainType},
train_name => $departure->{servingLine}{trainName},
@@ -154,7 +154,8 @@ sub parse_route {
sched_dep => $dep,
arr_delay => $ref->{arrValid} ? $ref->{arrDelay} : undef,
dep_delay => $ref->{depValid} ? $ref->{depDelay} : undef,
- id => $ref->{id},
+ id_num => $ref->{id},
+ id_code => $ref->{gid},
full_name => $stop->{name},
place => $stop->{place},
name => $stop->{nameWO},
@@ -176,7 +177,9 @@ sub id {
return $self->{id} = sprintf( '%s@%d(%s)%d',
$self->stateless =~ s{ }{}gr,
- scalar $self->route_pre ? ( $self->route_pre )[0]->id : $self->stop_id,
+ scalar $self->route_pre
+ ? ( $self->route_pre )[0]->id
+ : $self->stop_id_num,
$self->sched_datetime->strftime('%Y%m%d'),
$self->key );
}
@@ -342,7 +345,7 @@ may be recent news related to the line's schedule.
Stringified unique(?) identifier of this departure; suitable for passing to
Travel::Status::DE::EFA->new(stopseq) after decomposing it again.
-The returned string combines B<stateless>, B<stop_id> (or the ID of the first
+The returned string combines B<stateless>, B<stop_id_num> (or the ID of the first
stop in B<route_pre>, if present), B<sched_datetime>, and B<key>.
=item $departure->is_cancelled
diff --git a/lib/Travel/Status/DE/EFA/Stop.pm b/lib/Travel/Status/DE/EFA/Stop.pm
index 517d6a8..7d2036f 100644
--- a/lib/Travel/Status/DE/EFA/Stop.pm
+++ b/lib/Travel/Status/DE/EFA/Stop.pm
@@ -12,7 +12,7 @@ Travel::Status::DE::EFA::Stop->mk_ro_accessors(
qw(sched_arr rt_arr arr arr_delay
sched_dep rt_dep dep dep_delay
occupancy delay distance_m
- place name full_name id stop_id latlon
+ place name full_name id_num id_code latlon
platform niveau)
);
@@ -152,14 +152,13 @@ Delay in minutes. Departure delya if available, arrival delay otherwise.
Distance from request coordinates in meters. undef if the object has not
been obtained by means of a coord request.
-=item $stop->id
+=item $stop->id_num
-Stop ID.
+Stop ID (numeric).
-=item $stop->stop_id
+=item $stop->id_code
-The other kind of stop ID.
-Yes, EFA has two.
+Stop ID (code).
=item $stop->place
diff --git a/lib/Travel/Status/DE/EFA/Trip.pm b/lib/Travel/Status/DE/EFA/Trip.pm
index a4fc9f0..d038e6a 100644
--- a/lib/Travel/Status/DE/EFA/Trip.pm
+++ b/lib/Travel/Status/DE/EFA/Trip.pm
@@ -49,6 +49,7 @@ sub polyline {
my ( $self, %opt ) = @_;
if ( $opt{fallback} and not @{ $self->{polyline} // [] } ) {
+
# TODO add $_->{id} as well?
return map { $_->{latlon} } $self->route;
}
@@ -77,7 +78,7 @@ sub route {
for my $stop ( @{ $self->{route_raw} // [] } ) {
my $chain = $stop;
- my ( $platform, $place, $name, $name_full, $stop_id );
+ my ( $platform, $place, $name, $name_full, $id_num, $id_code );
while ( $chain->{type} ) {
if ( $chain->{type} eq 'platform' ) {
$platform = $chain->{properties}{platformName}
@@ -86,7 +87,8 @@ sub route {
elsif ( $chain->{type} eq 'stop' ) {
$name = $chain->{disassembledName};
$name_full = $chain->{name};
- $stop_id = $chain->{properties}{stopId};
+ $id_code = $chain->{id};
+ $id_num = $chain->{properties}{stopId};
}
elsif ( $chain->{type} eq 'locality' ) {
$place = $chain->{name};
@@ -106,8 +108,8 @@ sub route {
place => $place,
niveau => $stop->{niveau},
platform => $platform,
- id => $stop->{id},
- stop_id => $stop_id,
+ id_code => $id_code,
+ id_num => $id_num,
)
);
}