Loading bin/efa-m +2 −1 Original line number Diff line number Diff line Loading @@ -330,7 +330,8 @@ sub show_coord { sub show_stopfinder { my $max_len = max map { length( $_->full_name ) } $efa->results; for my $stop ( $efa->results ) { printf( "%-${max_len}s %s\n", $stop->full_name, $stop->id ); printf( "%-${max_len}s %s %s\n", $stop->full_name, $stop->id_num, $stop->id_code ); } } Loading lib/Travel/Status/DE/EFA.pm +6 −4 Original line number Diff line number Diff line Loading @@ -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}; Loading @@ -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}, ) ); } Loading Loading @@ -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}, ) ); } Loading lib/Travel/Status/DE/EFA/Departure.pm +8 −5 Original line number Diff line number Diff line Loading @@ -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{ Loading Loading @@ -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}, Loading Loading @@ -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}, Loading @@ -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 ); } Loading Loading @@ -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 Loading lib/Travel/Status/DE/EFA/Stop.pm +5 −6 Original line number Diff line number Diff line Loading @@ -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) ); Loading Loading @@ -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 Loading lib/Travel/Status/DE/EFA/Trip.pm +6 −4 Original line number Diff line number Diff line Loading @@ -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; } Loading Loading @@ -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} Loading @@ -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}; Loading @@ -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, ) ); } Loading Loading
bin/efa-m +2 −1 Original line number Diff line number Diff line Loading @@ -330,7 +330,8 @@ sub show_coord { sub show_stopfinder { my $max_len = max map { length( $_->full_name ) } $efa->results; for my $stop ( $efa->results ) { printf( "%-${max_len}s %s\n", $stop->full_name, $stop->id ); printf( "%-${max_len}s %s %s\n", $stop->full_name, $stop->id_num, $stop->id_code ); } } Loading
lib/Travel/Status/DE/EFA.pm +6 −4 Original line number Diff line number Diff line Loading @@ -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}; Loading @@ -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}, ) ); } Loading Loading @@ -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}, ) ); } Loading
lib/Travel/Status/DE/EFA/Departure.pm +8 −5 Original line number Diff line number Diff line Loading @@ -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{ Loading Loading @@ -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}, Loading Loading @@ -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}, Loading @@ -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 ); } Loading Loading @@ -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 Loading
lib/Travel/Status/DE/EFA/Stop.pm +5 −6 Original line number Diff line number Diff line Loading @@ -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) ); Loading Loading @@ -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 Loading
lib/Travel/Status/DE/EFA/Trip.pm +6 −4 Original line number Diff line number Diff line Loading @@ -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; } Loading Loading @@ -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} Loading @@ -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}; Loading @@ -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, ) ); } Loading