Loading lib/Travelynx.pm +18 −5 Original line number Diff line number Diff line Loading @@ -747,7 +747,8 @@ sub startup { # mustn't be called during a transaction if ( not $opt{in_transaction} ) { $self->add_route_timestamps( $uid, $train, 1 ); # $self->add_route_timestamps( uid => $uid, train => $train ); $self->add_wagonorder( uid => $uid, train_id => $train->train_id, Loading Loading @@ -1705,7 +1706,13 @@ sub startup { } if ( not $opt{in_transaction} ) { $self->run_hook( $uid, 'update' ); $self->add_route_timestamps( $uid, $train, 0, 1 ); $self->add_route_timestamps( uid => $uid, train => $train, update_polyline => 1, from_eva => $dep_eva, to_eva => $arr_eva ); $self->add_wagonorder( uid => $uid, train_id => $train->train_id, Loading Loading @@ -2087,9 +2094,11 @@ sub startup { # HAFAS already has all relevant information. $self->helper( 'add_route_timestamps' => sub { my ( $self, $uid, $train, $is_departure, $update_polyline ) = @_; my ( $self, %opt ) = @_; $uid //= $self->current_user->{id}; my $uid = $opt{uid} // $self->current_user->{id}; my $train = $opt{train}; my $update_polyline = $opt{update_polyline}; my $db = $self->pg->db; Loading @@ -2116,7 +2125,11 @@ sub startup { = Mojo::Promise->resolve( $in_transit->{data}{trip_id} ); } else { $tripid_promise = $self->hafas->get_tripid_p( train => $train ); $tripid_promise = $self->hafas->get_tripid_p( train => $train, from_eva => $opt{from_eva}, to_eva => $opt{to_eva} ); } $tripid_promise->then( Loading lib/Travelynx/Command/work.pm +11 −3 Original line number Diff line number Diff line Loading @@ -703,7 +703,12 @@ sub run { } } else { $self->app->add_route_timestamps( $uid, $train, 1 ); $self->app->add_route_timestamps( uid => $uid, train => $train, from_eva => $dep, to_eva => $arr ); $self->app->add_wagonorder( uid => $uid, train_id => $train->train_id, Loading Loading @@ -781,8 +786,11 @@ sub run { } else { $self->app->add_route_timestamps( $uid, $train, 0, ( uid => $uid, train => $train, from_eva => $dep, to_eva => $arr, update_polyline => ( defined $entry->{real_arr_ts} and $now->epoch > $entry->{real_arr_ts} ) ? 1 : 0 Loading lib/Travelynx/Helper/HAFAS.pm +21 −8 Original line number Diff line number Diff line Loading @@ -165,17 +165,30 @@ sub get_tripid_p { $self->{log} ->debug("get_tripid_p($old_desc -> $train_desc): success"); my $result = $results[0]; if ( @results > 1 ) { for my $journey (@results) { if ( ( $journey->route )[0]->loc->name eq $train->origin ) { $result = $journey; last; if ( List::Util::any { $_->loc->eva == $opt{from_eva} } $journey->route and List::Util::any { $_->loc->eva == $opt{to_eva} } $journey->route ) { $promise->resolve( $journey->id ); return; } } for my $journey (@results) { if ( ( $journey->route )[0]->loc->name eq $train->origin ) { $promise->resolve( $journey->id ); return; } } $promise->resolve( $result->id ); my $num_trips = scalar @results; $promise->reject( "get_tripid_p($old_desc -> $train_desc): found no matches in $num_trips trips" ); return; } )->catch( Loading Loading
lib/Travelynx.pm +18 −5 Original line number Diff line number Diff line Loading @@ -747,7 +747,8 @@ sub startup { # mustn't be called during a transaction if ( not $opt{in_transaction} ) { $self->add_route_timestamps( $uid, $train, 1 ); # $self->add_route_timestamps( uid => $uid, train => $train ); $self->add_wagonorder( uid => $uid, train_id => $train->train_id, Loading Loading @@ -1705,7 +1706,13 @@ sub startup { } if ( not $opt{in_transaction} ) { $self->run_hook( $uid, 'update' ); $self->add_route_timestamps( $uid, $train, 0, 1 ); $self->add_route_timestamps( uid => $uid, train => $train, update_polyline => 1, from_eva => $dep_eva, to_eva => $arr_eva ); $self->add_wagonorder( uid => $uid, train_id => $train->train_id, Loading Loading @@ -2087,9 +2094,11 @@ sub startup { # HAFAS already has all relevant information. $self->helper( 'add_route_timestamps' => sub { my ( $self, $uid, $train, $is_departure, $update_polyline ) = @_; my ( $self, %opt ) = @_; $uid //= $self->current_user->{id}; my $uid = $opt{uid} // $self->current_user->{id}; my $train = $opt{train}; my $update_polyline = $opt{update_polyline}; my $db = $self->pg->db; Loading @@ -2116,7 +2125,11 @@ sub startup { = Mojo::Promise->resolve( $in_transit->{data}{trip_id} ); } else { $tripid_promise = $self->hafas->get_tripid_p( train => $train ); $tripid_promise = $self->hafas->get_tripid_p( train => $train, from_eva => $opt{from_eva}, to_eva => $opt{to_eva} ); } $tripid_promise->then( Loading
lib/Travelynx/Command/work.pm +11 −3 Original line number Diff line number Diff line Loading @@ -703,7 +703,12 @@ sub run { } } else { $self->app->add_route_timestamps( $uid, $train, 1 ); $self->app->add_route_timestamps( uid => $uid, train => $train, from_eva => $dep, to_eva => $arr ); $self->app->add_wagonorder( uid => $uid, train_id => $train->train_id, Loading Loading @@ -781,8 +786,11 @@ sub run { } else { $self->app->add_route_timestamps( $uid, $train, 0, ( uid => $uid, train => $train, from_eva => $dep, to_eva => $arr, update_polyline => ( defined $entry->{real_arr_ts} and $now->epoch > $entry->{real_arr_ts} ) ? 1 : 0 Loading
lib/Travelynx/Helper/HAFAS.pm +21 −8 Original line number Diff line number Diff line Loading @@ -165,17 +165,30 @@ sub get_tripid_p { $self->{log} ->debug("get_tripid_p($old_desc -> $train_desc): success"); my $result = $results[0]; if ( @results > 1 ) { for my $journey (@results) { if ( ( $journey->route )[0]->loc->name eq $train->origin ) { $result = $journey; last; if ( List::Util::any { $_->loc->eva == $opt{from_eva} } $journey->route and List::Util::any { $_->loc->eva == $opt{to_eva} } $journey->route ) { $promise->resolve( $journey->id ); return; } } for my $journey (@results) { if ( ( $journey->route )[0]->loc->name eq $train->origin ) { $promise->resolve( $journey->id ); return; } } $promise->resolve( $result->id ); my $num_trips = scalar @results; $promise->reject( "get_tripid_p($old_desc -> $train_desc): found no matches in $num_trips trips" ); return; } )->catch( Loading