]> git.openstreetmap.org Git - nominatim.git/commitdiff
avoid fallback country lookup when places are excluded
authorSarah Hoffmann <lonvia@denofr.de>
Tue, 20 Jun 2023 10:22:08 +0000 (12:22 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Tue, 20 Jun 2023 10:22:08 +0000 (12:22 +0200)
nominatim/api/search/db_searches.py
nominatim/api/types.py

index ba4a3995ac49bf344497b2fecdb84ad455793e2a..76ff368f85b177ae8ad9dee579ec0bbc6de4e160 100644 (file)
@@ -403,6 +403,12 @@ class CountrySearch(AbstractSearch):
                                       details: SearchDetails) -> nres.SearchResults:
         """ Look up the country in the fallback country tables.
         """
+        # Avoid the fallback search when this is a more search. Country results
+        # usually are in the first batch of results and it is not possible
+        # to exclude these fallbacks.
+        if details.excluded:
+            return nres.SearchResults()
+
         t = conn.t.country_name
         tgrid = conn.t.country_grid
 
index aa3256cdd470c14f2a6fbf9cb129a49c53a36a69..87568a09ac59cd96f2185c61cc44f42ab4e85b02 100644 (file)
@@ -306,7 +306,7 @@ def format_excluded(ids: Any) -> List[int]:
                (isinstance(i, str) and (not i or i.isdigit())) for i in plist):
         raise UsageError("Parameter 'excluded' only takes place IDs.")
 
-    return [int(id) for id in plist if id]
+    return [int(id) for id in plist if id] or [0]
 
 
 def format_categories(categories: List[Tuple[str, str]]) -> List[Tuple[str, str]]: