summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/Travel/Status/DE/DBRIS.pm4
-rw-r--r--lib/Travel/Status/DE/DBRIS/Formation.pm12
-rw-r--r--lib/Travel/Status/DE/DBRIS/Formation/Carriage.pm7
-rw-r--r--lib/Travel/Status/DE/DBRIS/Formation/Group.pm3
-rw-r--r--lib/Travel/Status/DE/DBRIS/Formation/Sector.pm2
-rw-r--r--lib/Travel/Status/DE/DBRIS/Journey.pm4
-rw-r--r--lib/Travel/Status/DE/DBRIS/JourneyAtStop.pm10
-rw-r--r--lib/Travel/Status/DE/DBRIS/Location.pm2
-rw-r--r--lib/Travel/Status/DE/DBRIS/Operators.pm.PL2
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 = (