summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/dbris-m2
-rw-r--r--lib/Travel/Status/DE/DBRIS/Journey.pm8
2 files changed, 9 insertions, 1 deletions
diff --git a/bin/dbris-m b/bin/dbris-m
index e09f1b5..86f5016 100755
--- a/bin/dbris-m
+++ b/bin/dbris-m
@@ -388,7 +388,7 @@ elsif ( $opt{journey} ) {
}
printf( "%s %s am %s\n\n",
- $trip->train, $trip->train_no, $trip->day->strftime('%d.%m.%Y') );
+ $trip->type, $trip->train_no, $trip->day->strftime('%d.%m.%Y') );
for my $stop ( $trip->route ) {
if ( $stop == $mark_stop ) {
diff --git a/lib/Travel/Status/DE/DBRIS/Journey.pm b/lib/Travel/Status/DE/DBRIS/Journey.pm
index ad3fad4..22cf7ff 100644
--- a/lib/Travel/Status/DE/DBRIS/Journey.pm
+++ b/lib/Travel/Status/DE/DBRIS/Journey.pm
@@ -42,6 +42,14 @@ sub new {
( $ref->{type}, $ref->{number} ) = split( qr{\s+}, $ref->{train} );
}
+ # For some trains, the train type also contains the train number like "MEX19161"
+ # If we can detect this, remove the number from the train type
+ if ( $ref->{train_no} and $ref->{type}
+ and $ref->{type} =~ qr{ (?<actualtype> [^\d]+ ) $ref->{train_no} $ }x )
+ {
+ $ref->{type} = $+{actualtype};
+ }
+
# The line number seems to be encoded in the trip ID
if ( not defined $ref->{number}
and $opt{id} =~ m{ [#] ZE [#] (?<line> [^#]+ ) [#] ZB [#] }x )