diff options
| author | Birte Kristina Friesel <derf@finalrewind.org> | 2025-07-03 18:01:10 +0200 | 
|---|---|---|
| committer | Birte Kristina Friesel <derf@finalrewind.org> | 2025-07-03 18:01:10 +0200 | 
| commit | 8896bb2b405eee48df7f9e58c231d0680d6d05f1 (patch) | |
| tree | 715e16016e17309c972605ee5c3fef8efbe681fa | |
| parent | fabdbacceb8c6139b7f1002f7d37f039d7614d84 (diff) | |
Journey-based checkins: store platforms with route; set arrival platform from it2.15.5
Closes #269
| -rwxr-xr-x | lib/Travelynx.pm | 7 | ||||
| -rw-r--r-- | lib/Travelynx/Model/InTransit.pm | 24 | 
2 files changed, 31 insertions, 0 deletions
| diff --git a/lib/Travelynx.pm b/lib/Travelynx.pm index c8c96b8..78642ff 100755 --- a/lib/Travelynx.pm +++ b/lib/Travelynx.pm @@ -1615,6 +1615,13 @@ sub startup {  						rt_arrival    =>  						  ( $stop->[2]{rt_arr} || $stop->[2]{sched_arr} )  					); +					if ($stop->[2]{platform}) { +						$self->in_transit->set_arrival_platform( +							uid => $uid, +							db => $db, +							arrival_platform => $stop->[2]{platform} +						); +					}  					if (  						$now > ( $stop->[2]{rt_arr} || $stop->[2]{sched_arr} ) )  					{ diff --git a/lib/Travelynx/Model/InTransit.pm b/lib/Travelynx/Model/InTransit.pm index 11177dd..16946ff 100644 --- a/lib/Travelynx/Model/InTransit.pm +++ b/lib/Travelynx/Model/InTransit.pm @@ -160,6 +160,7 @@ sub add {  						isCancelled => $j_stop->is_cancelled,  						arr_delay   => $j_stop->arr_delay,  						dep_delay   => $j_stop->dep_delay, +						platform    => $j_stop->platform,  						efa_load    => $j_stop->occupancy,  						lat         => $j_stop->latlon->[0],  						lon         => $j_stop->latlon->[1], @@ -214,6 +215,7 @@ sub add {  						rt_dep    => _epoch( $j_stop->rt_dep ),  						arr_delay => $j_stop->arr_delay,  						dep_delay => $j_stop->dep_delay, +						platform  => $j_stop->platform,  						load      => $j_stop->load,  						lat       => $j_stop->loc->lat,  						lon       => $j_stop->loc->lon, @@ -284,6 +286,7 @@ sub add {  						isCancelled => $j_stop->is_cancelled,  						arr_delay   => $j_stop->arr_delay,  						dep_delay   => $j_stop->dep_delay, +						platform    => $j_stop->platform,  						load        => {  							FIRST  => $j_stop->occupancy_first,  							SECOND => $j_stop->occupancy_second @@ -364,6 +367,7 @@ sub add {  						  _epoch( $journey_stopover->realtime_departure ),  						arr_delay => $journey_stopover->arrival_delay,  						dep_delay => $journey_stopover->departure_delay, +						platform  => $journey_stopover->track,  						lat       => $journey_stopover->stop->lat,  						lon       => $journey_stopover->stop->lon,  					} @@ -770,6 +774,22 @@ sub set_arrival_eva {  	);  } +sub set_arrival_platform { +	my ( $self, %opt ) = @_; + +	my $uid      = $opt{uid}; +	my $db       = $opt{db} // $self->{pg}->db; +	my $platform = $opt{arrival_platform}; + +	$db->update( +		'in_transit', +		{ +			arr_platform => $platform, +		}, +		{ user_id => $uid } +	); +} +  sub set_arrival_times {  	my ( $self, %opt ) = @_; @@ -1235,6 +1255,7 @@ sub update_arrival_dbris {  					isCancelled => $j_stop->is_cancelled,  					arr_delay   => $j_stop->arr_delay,  					dep_delay   => $j_stop->dep_delay, +					platform    => $j_stop->platform,  					load        => {  						FIRST  => $j_stop->occupancy_first,  						SECOND => $j_stop->occupancy_second @@ -1302,6 +1323,7 @@ sub update_arrival_efa {  					isCancelled => $j_stop->is_cancelled,  					arr_delay   => $j_stop->arr_delay,  					dep_delay   => $j_stop->dep_delay, +					platform    => $j_stop->platform,  					efa_load    => $j_stop->occupancy,  					lat         => $j_stop->latlon->[0],  					lon         => $j_stop->latlon->[1], @@ -1356,6 +1378,7 @@ sub update_arrival_motis {  					rt_dep => _epoch( $journey_stopover->realtime_departure ),  					arr_delay => $journey_stopover->arrival_delay,  					dep_delay => $journey_stopover->departure_delay, +					platform  => $journey_stopover->track,  					lat       => $journey_stopover->stop->lat,  					lon       => $journey_stopover->stop->lon,  				} @@ -1416,6 +1439,7 @@ sub update_arrival_hafas {  					rt_dep    => _epoch( $j_stop->rt_dep ),  					arr_delay => $j_stop->arr_delay,  					dep_delay => $j_stop->dep_delay, +					platform  => $j_stop->platform,  					load      => $j_stop->load,  					lat       => $j_stop->loc->lat,  					lon       => $j_stop->loc->lon, | 
