summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2019-01-03 18:18:13 +0100
committerDaniel Friesel <derf@finalrewind.org>2019-01-03 18:18:13 +0100
commitef3753ea59541bab79dd8ae72b45cf2046502307 (patch)
tree9453839542639e048eb2368d5e1e7bcfca1e674a
parent0892c03c405c2e80076d763d200d91af33230353 (diff)
handle empty Baureihe (e.g. for swiss EC trains)
-rwxr-xr-xbin/db-wagenreihung3
-rw-r--r--lib/Travel/Status/DE/DBWagenreihung.pm3
-rw-r--r--lib/Travel/Status/DE/DBWagenreihung/Wagon.pm2
3 files changed, 6 insertions, 2 deletions
diff --git a/bin/db-wagenreihung b/bin/db-wagenreihung
index 3757654..11572a9 100755
--- a/bin/db-wagenreihung
+++ b/bin/db-wagenreihung
@@ -134,6 +134,7 @@ for my $wagon ( $wr->wagons ) {
printf(
"%3s: %3s %10s %s\n",
$wagon->number || '?',
- $wagon->model, $wagon->type, join( q{ }, $wagon->attributes )
+ $wagon->model || '???',
+ $wagon->type, join( q{ }, $wagon->attributes )
);
}
diff --git a/lib/Travel/Status/DE/DBWagenreihung.pm b/lib/Travel/Status/DE/DBWagenreihung.pm
index 0bc7ae6..51253f9 100644
--- a/lib/Travel/Status/DE/DBWagenreihung.pm
+++ b/lib/Travel/Status/DE/DBWagenreihung.pm
@@ -176,6 +176,9 @@ sub train_subtype {
);
for my $wagon (@wagons) {
+ if ( not $wagon->model ) {
+ next;
+ }
if ( $wagon->model == 401
or ( $wagon->model >= 801 and $wagon->model <= 804 ) )
{
diff --git a/lib/Travel/Status/DE/DBWagenreihung/Wagon.pm b/lib/Travel/Status/DE/DBWagenreihung/Wagon.pm
index 9d6199f..2f45e2a 100644
--- a/lib/Travel/Status/DE/DBWagenreihung/Wagon.pm
+++ b/lib/Travel/Status/DE/DBWagenreihung/Wagon.pm
@@ -73,7 +73,7 @@ sub new {
$ref->{section} = $opt{fahrzeugsektor};
$ref->{type} = $opt{fahrzeugtyp};
- $ref->{model} =~ s{^.....(...)....$}{$1};
+ $ref->{model} =~ s{^.....(...)....$}{$1} or $ref->{model} = undef;
my $self = bless( $ref, $obj );