diff options
| author | Birte Kristina Friesel <birte.friesel@uos.de> | 2024-08-25 16:36:02 +0200 | 
|---|---|---|
| committer | Birte Kristina Friesel <birte.friesel@uos.de> | 2024-08-25 16:36:02 +0200 | 
| commit | 6f3710c5cbecf7e531a3fcd1a40505b2afd18592 (patch) | |
| tree | 6a406dea663db971769fee261e326e74b74457e1 /lib | |
| parent | 60ce72a9543526df969359a8196dc3bb5dc6bf0e (diff) | |
IRIS: Re-add support for stations unknown to T::S::DE::IRIS::Stations2.8.31
This fixes a regression introduced by 47f76da4f8cc31146d2834dfdf9731d330288c9d
Closes #159
Journeys logged with travelynx v2.8.0 through 2.8.30 are affected by this bug
and will contain incorrect data even after applying this patch – it only
fixes data for new entries.
To Do: See if affected entries can be repaired with a DB migration
Diffstat (limited to 'lib')
| -rwxr-xr-x | lib/Travelynx.pm | 8 | ||||
| -rw-r--r-- | lib/Travelynx/Helper/IRIS.pm | 8 | 
2 files changed, 16 insertions, 0 deletions
| diff --git a/lib/Travelynx.pm b/lib/Travelynx.pm index 0c8d0f2..4a929f4 100755 --- a/lib/Travelynx.pm +++ b/lib/Travelynx.pm @@ -1409,6 +1409,14 @@ sub startup {  					my ( $new_route, $journey, $polyline ) = @_;  					my $db_route; +					for my $stop ( $journey->route ) { +						$self->stations->add_or_update( +							stop => $stop, +							db   => $db, +							iris => 1, +						); +					} +  					for my $i ( 0 .. $#{$new_route} ) {  						my $old_name  = $route->[$i][0];  						my $old_eva   = $route->[$i][1]; diff --git a/lib/Travelynx/Helper/IRIS.pm b/lib/Travelynx/Helper/IRIS.pm index f96aeb6..34739eb 100644 --- a/lib/Travelynx/Helper/IRIS.pm +++ b/lib/Travelynx/Helper/IRIS.pm @@ -41,6 +41,10 @@ sub get_departures {  	my @station_matches  	  = Travel::Status::DE::IRIS::Stations::get_station($station); +	if ( $station =~ m{ ^ \d+ $ }x ) { +		@station_matches = ( [ undef, undef, $station ] ); +	} +  	if ( @station_matches == 1 ) {  		$station = $station_matches[0][2];  		my $status = Travel::Status::DE::IRIS->new( @@ -108,6 +112,10 @@ sub get_departures_p {  	my @station_matches  	  = Travel::Status::DE::IRIS::Stations::get_station($station); +	if ( $station =~ m{ ^ \d+ $ }x ) { +		@station_matches = ( [ undef, undef, $station ] ); +	} +  	if ( @station_matches == 1 ) {  		$station = $station_matches[0][2];  		my $promise = Mojo::Promise->new; | 
