X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/5a61d3d5f6ff1b0c9fe1d5d10c594033d40d5856..HEAD:/src/nominatim_api/result_formatting.py?ds=sidebyside diff --git a/src/nominatim_api/result_formatting.py b/src/nominatim_api/result_formatting.py index 8eb500db..0f91b761 100644 --- a/src/nominatim_api/result_formatting.py +++ b/src/nominatim_api/result_formatting.py @@ -14,14 +14,14 @@ import importlib from .server.content_types import CONTENT_JSON -T = TypeVar('T') # pylint: disable=invalid-name +T = TypeVar('T') FormatFunc = Callable[[T, Mapping[str, Any]], str] ErrorFormatFunc = Callable[[str, str, int], str] class FormatDispatcher: - """ Helper class to conveniently create formatting functions in - a module using decorators. + """ Container for formatting functions for results. + Functions can conveniently be added by using decorated functions. """ def __init__(self, content_types: Optional[Mapping[str, str]] = None) -> None: @@ -31,7 +31,6 @@ class FormatDispatcher: self.content_types.update(content_types) self.format_functions: Dict[Type[Any], Dict[str, FormatFunc[Any]]] = defaultdict(dict) - def format_func(self, result_class: Type[T], fmt: str) -> Callable[[FormatFunc[T]], FormatFunc[T]]: """ Decorator for a function that formats a given type of result into the @@ -43,7 +42,6 @@ class FormatDispatcher: return decorator - def error_format_func(self, func: ErrorFormatFunc) -> ErrorFormatFunc: """ Decorator for a function that formats error messges. There is only one error formatter per dispatcher. Using @@ -52,19 +50,16 @@ class FormatDispatcher: self.error_handler = func return func - def list_formats(self, result_type: Type[Any]) -> List[str]: """ Return a list of formats supported by this formatter. """ return list(self.format_functions[result_type].keys()) - def supports_format(self, result_type: Type[Any], fmt: str) -> bool: """ Check if the given format is supported by this formatter. """ return fmt in self.format_functions[result_type] - def format_result(self, result: Any, fmt: str, options: Mapping[str, Any]) -> str: """ Convert the given result into a string using the given format. @@ -73,7 +68,6 @@ class FormatDispatcher: """ return self.format_functions[type(result)][fmt](result, options) - def format_error(self, content_type: str, msg: str, status: int) -> str: """ Convert the given error message into a response string taking the requested content_type into account. @@ -82,7 +76,6 @@ class FormatDispatcher: """ return self.error_handler(content_type, msg, status) - def set_content_type(self, fmt: str, content_type: str) -> None: """ Set the content type for the given format. This is the string that will be returned in the Content-Type header of the HTML @@ -90,7 +83,6 @@ class FormatDispatcher: """ self.content_types[fmt] = content_type - def get_content_type(self, fmt: str) -> str: """ Return the content type for the given format.