Commit ff8d44e4 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

Stations.pm: try normalized match before substring match

parent 4f8516d2
Loading
Loading
Loading
Loading
+20 −1
Original line number Diff line number Diff line
@@ -15100,9 +15100,22 @@ sub get_stations {
	return @stations;
}

sub normalize {
	my ($val) = @_;

	$val =~ s{Ä}{Ae}g;
	$val =~ s{Ö}{Oe}g;
	$val =~ s{Ü}{Ue}g;
	$val =~ s{ä}{ae}g;
	$val =~ s{ö}{oe}g;
	$val =~ s{ß}{sz}g;
	$val =~ s{ü}{ue}g;

	return $val;
}

sub get_station {
	my ( $name ) = @_;

	my $ds100_match = firstval { $name eq $_->[0] } @stations;

	if ($ds100_match) {
@@ -15122,6 +15135,12 @@ sub get_station_by_name {
		return ($actual_match);
	}

	$nname = normalize($nname);
	$actual_match = firstval { $nname eq normalize(lc($_->[1])) } @stations;
	if ($actual_match) {
		return $actual_match;
	}

	return ( grep { $_->[1] =~ m{$name}i } @stations );
}