Loading lib/Travelynx.pm +1 −16 Original line number Diff line number Diff line Loading @@ -419,21 +419,6 @@ sub startup { } ); $self->helper( 'grep_unknown_stations' => sub { my ( $self, @stations ) = @_; my @unknown_stations; for my $station (@stations) { my $station_info = $self->stations->get_by_name($station); if ( not $station_info ) { push( @unknown_stations, $station ); } } return @unknown_stations; } ); $self->helper( 'load_icon' => sub { my ( $self, $load ) = @_; Loading Loading @@ -750,7 +735,7 @@ sub startup { $has_arrived = $train->arrival->epoch < $now->epoch ? 1 : 0; if ($has_arrived) { my @unknown_stations = $self->grep_unknown_stations( $train->route ); = $self->stations->grep_unknown( $train->route ); if (@unknown_stations) { $self->app->log->warn( sprintf( Loading lib/Travelynx/Model/Journeys.pm +2 −15 Original line number Diff line number Diff line Loading @@ -34,19 +34,6 @@ sub epoch_to_dt { ); } sub grep_unknown_stations { my ( $self, @stations ) = @_; my @unknown_stations; for my $station (@stations) { my $station_info = $self->{stations}->get_by_name($station); if ( not $station_info ) { push( @unknown_stations, $station ); } } return @unknown_stations; } sub new { my ( $class, %opt ) = @_; Loading Loading @@ -917,8 +904,8 @@ sub sanity_check { } if ( $journey->{edited} & 0x0010 and not $lax ) { my @unknown_stations = $self->grep_unknown_stations( map { $_->[0] } @{ $journey->{route} } ); = $self->{stations} ->grep_unknown( map { $_->[0] } @{ $journey->{route} } ); if (@unknown_stations) { return 'Unbekannte Station(en): ' . join( ', ', @unknown_stations ); } Loading lib/Travelynx/Model/Stations.pm +20 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,16 @@ sub get_by_name { ->hash; } # Slow sub get_by_names { my ( $self, @names ) = @_; my @ret = $self->{pg}->db->select( 'stations', '*', { name => { '=', \@names } } ) ->hashes->each; return @ret; } # Slow sub get_by_ds100 { my ( $self, $ds100, %opt ) = @_; Loading @@ -85,4 +95,14 @@ sub search { // $self->get_by_name( $identifier, %opt ); } # Slow sub grep_unknown { my ( $self, @stations ) = @_; my %station = map { $_->{name} => 1 } $self->get_by_names(@stations); my @unknown_stations = grep { not $station{$_} } @stations; return @unknown_stations; } 1; Loading
lib/Travelynx.pm +1 −16 Original line number Diff line number Diff line Loading @@ -419,21 +419,6 @@ sub startup { } ); $self->helper( 'grep_unknown_stations' => sub { my ( $self, @stations ) = @_; my @unknown_stations; for my $station (@stations) { my $station_info = $self->stations->get_by_name($station); if ( not $station_info ) { push( @unknown_stations, $station ); } } return @unknown_stations; } ); $self->helper( 'load_icon' => sub { my ( $self, $load ) = @_; Loading Loading @@ -750,7 +735,7 @@ sub startup { $has_arrived = $train->arrival->epoch < $now->epoch ? 1 : 0; if ($has_arrived) { my @unknown_stations = $self->grep_unknown_stations( $train->route ); = $self->stations->grep_unknown( $train->route ); if (@unknown_stations) { $self->app->log->warn( sprintf( Loading
lib/Travelynx/Model/Journeys.pm +2 −15 Original line number Diff line number Diff line Loading @@ -34,19 +34,6 @@ sub epoch_to_dt { ); } sub grep_unknown_stations { my ( $self, @stations ) = @_; my @unknown_stations; for my $station (@stations) { my $station_info = $self->{stations}->get_by_name($station); if ( not $station_info ) { push( @unknown_stations, $station ); } } return @unknown_stations; } sub new { my ( $class, %opt ) = @_; Loading Loading @@ -917,8 +904,8 @@ sub sanity_check { } if ( $journey->{edited} & 0x0010 and not $lax ) { my @unknown_stations = $self->grep_unknown_stations( map { $_->[0] } @{ $journey->{route} } ); = $self->{stations} ->grep_unknown( map { $_->[0] } @{ $journey->{route} } ); if (@unknown_stations) { return 'Unbekannte Station(en): ' . join( ', ', @unknown_stations ); } Loading
lib/Travelynx/Model/Stations.pm +20 −0 Original line number Diff line number Diff line Loading @@ -61,6 +61,16 @@ sub get_by_name { ->hash; } # Slow sub get_by_names { my ( $self, @names ) = @_; my @ret = $self->{pg}->db->select( 'stations', '*', { name => { '=', \@names } } ) ->hashes->each; return @ret; } # Slow sub get_by_ds100 { my ( $self, $ds100, %opt ) = @_; Loading @@ -85,4 +95,14 @@ sub search { // $self->get_by_name( $identifier, %opt ); } # Slow sub grep_unknown { my ( $self, @stations ) = @_; my %station = map { $_->{name} => 1 } $self->get_by_names(@stations); my @unknown_stations = grep { not $station{$_} } @stations; return @unknown_stations; } 1;