diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/Travel/Status/DE/DBRIS.pm | 4 | ||||
| -rw-r--r-- | lib/Travel/Status/DE/DBRIS/Formation.pm | 12 | ||||
| -rw-r--r-- | lib/Travel/Status/DE/DBRIS/Formation/Carriage.pm | 7 | ||||
| -rw-r--r-- | lib/Travel/Status/DE/DBRIS/Formation/Group.pm | 3 | ||||
| -rw-r--r-- | lib/Travel/Status/DE/DBRIS/Formation/Sector.pm | 2 | ||||
| -rw-r--r-- | lib/Travel/Status/DE/DBRIS/Journey.pm | 4 | ||||
| -rw-r--r-- | lib/Travel/Status/DE/DBRIS/JourneyAtStop.pm | 10 | ||||
| -rw-r--r-- | lib/Travel/Status/DE/DBRIS/Location.pm | 2 | ||||
| -rw-r--r-- | lib/Travel/Status/DE/DBRIS/Operators.pm.PL | 2 |
9 files changed, 28 insertions, 18 deletions
diff --git a/lib/Travel/Status/DE/DBRIS.pm b/lib/Travel/Status/DE/DBRIS.pm index ad17461..f6062e7 100644 --- a/lib/Travel/Status/DE/DBRIS.pm +++ b/lib/Travel/Status/DE/DBRIS.pm @@ -19,7 +19,7 @@ use Travel::Status::DE::DBRIS::JourneyAtStop; use Travel::Status::DE::DBRIS::Journey; use Travel::Status::DE::DBRIS::Location; -our $VERSION = '0.19'; +our $VERSION = '0.21'; # {{{ Constructors @@ -473,7 +473,7 @@ Non-blocking variant; =head1 VERSION -version 0.19 +version 0.21 =head1 DESCRIPTION diff --git a/lib/Travel/Status/DE/DBRIS/Formation.pm b/lib/Travel/Status/DE/DBRIS/Formation.pm index 38a55aa..03903cd 100644 --- a/lib/Travel/Status/DE/DBRIS/Formation.pm +++ b/lib/Travel/Status/DE/DBRIS/Formation.pm @@ -12,7 +12,7 @@ use Travel::Status::DE::DBRIS::Formation::Group; use Travel::Status::DE::DBRIS::Formation::Sector; use Travel::Status::DE::DBRIS::Formation::Carriage; -our $VERSION = '0.19'; +our $VERSION = '0.21'; Travel::Status::DE::DBRIS::Formation->mk_ro_accessors( qw(direction platform train_type)); @@ -102,7 +102,8 @@ sub parse_carriages { push( @{ $self->{carriages} }, $carriage_object ); } @group_carriages - = sort { $a->start_percent <=> $b->start_percent } @group_carriages; + = sort { ( $a->start_percent // 0 ) <=> ( $b->start_percent // 0 ) } + @group_carriages; my $group_obj = Travel::Status::DE::DBRIS::Formation::Group->new( json => $group, carriages => \@group_carriages, @@ -111,13 +112,16 @@ sub parse_carriages { push( @numbers, $group_obj->train_no ); } - @groups = sort { $a->start_percent <=> $b->start_percent } @groups; + @groups = sort { ( $a->start_percent // 0 ) <=> ( $b->start_percent // 0 ) } + @groups; @numbers = uniq @numbers; $self->{train_numbers} = \@numbers; if ( @{ $self->{carriages} // [] } > 1 ) { - if ( $self->{carriages}[0]->{start_percent} + if ( defined $self->{carriages}[0]->{start_percent} + and defined $self->{carriages}[-1]->{start_percent} + and $self->{carriages}[0]->{start_percent} > $self->{carriages}[-1]->{start_percent} ) { $self->{direction} = 100; diff --git a/lib/Travel/Status/DE/DBRIS/Formation/Carriage.pm b/lib/Travel/Status/DE/DBRIS/Formation/Carriage.pm index f4f602d..3308efa 100644 --- a/lib/Travel/Status/DE/DBRIS/Formation/Carriage.pm +++ b/lib/Travel/Status/DE/DBRIS/Formation/Carriage.pm @@ -8,7 +8,7 @@ use utf8; use parent 'Class::Accessor'; use Carp qw(cluck); -our $VERSION = '0.19'; +our $VERSION = '0.21'; Travel::Status::DE::DBRIS::Formation::Carriage->mk_ro_accessors( qw(class_type is_closed is_dosto is_locomotive is_powercar number model section uic_id type @@ -49,7 +49,10 @@ sub new { $ref->{section} = $json{platformPosition}{sector}; $ref->{type} = $json{type}{constructionType}; - $ref->{model} =~ s{^.....(...)....(?:-.)?$}{$1} or $ref->{model} = undef; + if ( defined $ref->{model} ) { + $ref->{model} =~ s{^.....(...)....(?:-.)?$}{$1} + or $ref->{model} = undef; + } my $self = bless( $ref, $obj ); diff --git a/lib/Travel/Status/DE/DBRIS/Formation/Group.pm b/lib/Travel/Status/DE/DBRIS/Formation/Group.pm index 9c3425f..16e03c2 100644 --- a/lib/Travel/Status/DE/DBRIS/Formation/Group.pm +++ b/lib/Travel/Status/DE/DBRIS/Formation/Group.pm @@ -8,7 +8,7 @@ use utf8; use parent 'Class::Accessor'; use List::Util qw(uniq); -our $VERSION = '0.19'; +our $VERSION = '0.21'; Travel::Status::DE::DBRIS::Formation::Group->mk_ro_accessors( qw(designation name train_no train_type description desc_short destination has_sectors model series start_percent end_percent) @@ -267,7 +267,6 @@ my %ice_name = ( 8019 => 'Düsseldorf', 8020 => 'Amsterdam', 8022 => 'Waldecker Land', - 8026 => 'Christmas-Train', 8029 => 'Europa/Europe', 9006 => 'Martin Luther', 9009 => 'Cottbus/Chóśebuz', diff --git a/lib/Travel/Status/DE/DBRIS/Formation/Sector.pm b/lib/Travel/Status/DE/DBRIS/Formation/Sector.pm index 8bc7fe3..ded827a 100644 --- a/lib/Travel/Status/DE/DBRIS/Formation/Sector.pm +++ b/lib/Travel/Status/DE/DBRIS/Formation/Sector.pm @@ -7,7 +7,7 @@ use utf8; use parent 'Class::Accessor'; -our $VERSION = '0.19'; +our $VERSION = '0.21'; Travel::Status::DE::DBRIS::Formation::Sector->mk_ro_accessors( qw(name start_percent end_percent length_percent start_meters end_meters length_meters cube_meters cube_percent) diff --git a/lib/Travel/Status/DE/DBRIS/Journey.pm b/lib/Travel/Status/DE/DBRIS/Journey.pm index 0d27516..e26a3dd 100644 --- a/lib/Travel/Status/DE/DBRIS/Journey.pm +++ b/lib/Travel/Status/DE/DBRIS/Journey.pm @@ -9,7 +9,7 @@ use parent 'Class::Accessor'; use Travel::Status::DE::DBRIS::Location; use Travel::Status::DE::DBRIS::Operators; -our $VERSION = '0.19'; +our $VERSION = '0.21'; # ->number is deprecated Travel::Status::DE::DBRIS::Journey->mk_ro_accessors( @@ -337,7 +337,7 @@ journey received by Travel::Status::DE::DBRIS =head1 VERSION -version 0.19 +version 0.21 =head1 DESCRIPTION diff --git a/lib/Travel/Status/DE/DBRIS/JourneyAtStop.pm b/lib/Travel/Status/DE/DBRIS/JourneyAtStop.pm index 6a29e98..f2ef73a 100644 --- a/lib/Travel/Status/DE/DBRIS/JourneyAtStop.pm +++ b/lib/Travel/Status/DE/DBRIS/JourneyAtStop.pm @@ -6,7 +6,7 @@ use 5.020; use parent 'Class::Accessor'; -our $VERSION = '0.19'; +our $VERSION = '0.21'; Travel::Status::DE::DBRIS::JourneyAtStop->mk_ro_accessors( qw(type dep sched_dep rt_dep delay is_cancelled line stop_eva id platform rt_platform destination via_last @@ -40,8 +40,12 @@ sub new { shift( @{ $ref->{via} } ); } - $ref->{maybe_train_no} = $ref->{train} =~ s{^.* ++}{}r; - $ref->{maybe_line_no} = $ref->{train_mid} =~ s{^.* ++}{}r; + if ( defined $ref->{train} ) { + $ref->{maybe_train_no} = $ref->{train} =~ s{^.* ++}{}r; + } + if ( defined $ref->{train_mid} ) { + $ref->{maybe_line_no} = $ref->{train_mid} =~ s{^.* ++}{}r; + } bless( $ref, $obj ); diff --git a/lib/Travel/Status/DE/DBRIS/Location.pm b/lib/Travel/Status/DE/DBRIS/Location.pm index 47ef89a..7e2da55 100644 --- a/lib/Travel/Status/DE/DBRIS/Location.pm +++ b/lib/Travel/Status/DE/DBRIS/Location.pm @@ -6,7 +6,7 @@ use 5.020; use parent 'Class::Accessor'; -our $VERSION = '0.19'; +our $VERSION = '0.21'; Travel::Status::DE::DBRIS::Location->mk_ro_accessors( qw(eva id lat lon name admin_id operator products type is_cancelled is_additional is_separation display_priority diff --git a/lib/Travel/Status/DE/DBRIS/Operators.pm.PL b/lib/Travel/Status/DE/DBRIS/Operators.pm.PL index d345ead..8da5a08 100644 --- a/lib/Travel/Status/DE/DBRIS/Operators.pm.PL +++ b/lib/Travel/Status/DE/DBRIS/Operators.pm.PL @@ -23,7 +23,7 @@ use warnings; use 5.020; use utf8; -our $VERSION = '0.19'; +our $VERSION = '0.21'; # Automatically generated, see share/stations.json my %admin_id_to_operator = ( |
