X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/dc99bbb0afb7632b5497d4f6f41acff5b2e635e2..6f3339cc498592850218f8fc714dd45d66cd1815:/nominatim/api/types.py diff --git a/nominatim/api/types.py b/nominatim/api/types.py index 9042e707..c7e15843 100644 --- a/nominatim/api/types.py +++ b/nominatim/api/types.py @@ -296,13 +296,13 @@ def format_excluded(ids: Any) -> List[int]: """ plist: Sequence[str] if isinstance(ids, str): - plist = ids.split(',') + plist = [s.strip() for s in ids.split(',')] elif isinstance(ids, abc.Sequence): plist = ids else: raise UsageError("Parameter 'excluded' needs to be a comma-separated list " "or a Python list of numbers.") - if any(not isinstance(i, int) or (isinstance(i, str) and not i.isdigit()) for i in plist): + if not all(isinstance(i, int) or (isinstance(i, str) and i.isdigit()) for i in plist): raise UsageError("Parameter 'excluded' only takes place IDs.") return [int(id) for id in plist if id] @@ -400,7 +400,8 @@ class SearchDetails(LookupDetails): ) """ Highest address rank to return. """ - layers: Optional[DataLayer] = None + layers: Optional[DataLayer] = dataclasses.field(default=None, + metadata={'transform': lambda r : r}) """ Filter which kind of data to include. When 'None' (the default) then filtering by layers is disabled. """ @@ -427,7 +428,8 @@ class SearchDetails(LookupDetails): metadata={'transform': Point.from_param}) """ Order results by distance to the given point. """ - near_radius: Optional[float] = None + near_radius: Optional[float] = dataclasses.field(default=None, + metadata={'transform': lambda r : r}) """ Use near point as a filter and drop results outside the given radius. Radius is given in degrees WSG84. """