]> git.openstreetmap.org Git - nominatim.git/blobdiff - src/nominatim_db/clicmd/api.py
export UsageError and Configuration in api directly
[nominatim.git] / src / nominatim_db / clicmd / api.py
index 7d9569e3cb506adb113b5126bbd1cc1000ebd525..25b4bff35a33d7f8e7c294f9ba1491e23ef5f8cc 100644 (file)
@@ -7,12 +7,14 @@
 """
 Subcommand definitions for API calls from the command line.
 """
-from typing import Dict, Any
+from typing import Dict, Any, Optional
 import argparse
 import logging
 import json
 import sys
+from functools import reduce
 
+from nominatim_core.errors import UsageError
 import nominatim_api as napi
 import nominatim_api.v1 as api_output
 from nominatim_api.v1.helpers import zoom_to_rank, deduplicate_results
@@ -61,7 +63,7 @@ def _add_api_output_arguments(parser: argparse.ArgumentParser) -> None:
                              "Parameter is difference tolerance in degrees."))
 
 
-def _get_geometry_output(args) -> napi.GeometryFormat:
+def _get_geometry_output(args: NominatimArgs) -> napi.GeometryFormat:
     """ Get the requested geometry output format in a API-compatible
         format.
     """
@@ -82,7 +84,7 @@ def _get_geometry_output(args) -> napi.GeometryFormat:
         raise UsageError(f"Unknown polygon output format '{args.polygon_output}'.") from exp
 
 
-def _get_locales(args, default: Optional[str]) -> napi.Locales:
+def _get_locales(args: NominatimArgs, default: Optional[str]) -> napi.Locales:
     """ Get the locales from the language parameter.
     """
     if args.lang:
@@ -93,7 +95,7 @@ def _get_locales(args, default: Optional[str]) -> napi.Locales:
     return napi.Locales()
 
 
-def _get_layers(args, default: napi.DataLayer) -> Optional[napi.DataLayer]:
+def _get_layers(args: NominatimArgs, default: napi.DataLayer) -> Optional[napi.DataLayer]:
     """ Get the list of selected layers as a DataLayer enum.
     """
     if not args.layers: