fix backward compatibility issues with Python 3.7

This commit is contained in:
Sarah Hoffmann 2024-10-25 23:43:59 +02:00
parent 2c0f2e1ede
commit b9e4563beb
3 changed files with 10 additions and 10 deletions

View File

@ -18,7 +18,7 @@ build-api:
tests: mypy lint pytest bdd tests: mypy lint pytest bdd
mypy: mypy:
mypy --strict src mypy --strict --python-version 3.8 src
pytest: pytest:
pytest test/python pytest test/python

View File

@ -7,7 +7,7 @@
""" """
Server implementation using the falcon webserver framework. Server implementation using the falcon webserver framework.
""" """
from typing import Optional, Mapping, cast, Any, List from typing import Optional, Mapping, Any, List
from pathlib import Path from pathlib import Path
import datetime as dt import datetime as dt
import asyncio import asyncio
@ -72,11 +72,11 @@ class ParamWrapper(ASGIAdaptor):
def get(self, name: str, default: Optional[str] = None) -> Optional[str]: def get(self, name: str, default: Optional[str] = None) -> Optional[str]:
return cast(Optional[str], self.request.get_param(name, default=default)) return self.request.get_param(name, default=default)
def get_header(self, name: str, default: Optional[str] = None) -> Optional[str]: def get_header(self, name: str, default: Optional[str] = None) -> Optional[str]:
return cast(Optional[str], self.request.get_header(name, default=default)) return self.request.get_header(name, default=default)
def error(self, msg: str, status: int = 400) -> HTTPNominatimError: def error(self, msg: str, status: int = 400) -> HTTPNominatimError:
@ -91,7 +91,7 @@ class ParamWrapper(ASGIAdaptor):
def base_uri(self) -> str: def base_uri(self) -> str:
return cast (str, self.request.forwarded_prefix) return self.request.forwarded_prefix
def config(self) -> Configuration: def config(self) -> Configuration:
return self._config return self._config
@ -183,7 +183,7 @@ def get_application(project_dir: Path,
app.add_error_handler(HTTPNominatimError, nominatim_error_handler) app.add_error_handler(HTTPNominatimError, nominatim_error_handler)
app.add_error_handler(TimeoutError, timeout_error_handler) app.add_error_handler(TimeoutError, timeout_error_handler)
# different from TimeoutError in Python <= 3.10 # different from TimeoutError in Python <= 3.10
app.add_error_handler(asyncio.TimeoutError, timeout_error_handler) app.add_error_handler(asyncio.TimeoutError, timeout_error_handler) # type: ignore[arg-type]
legacy_urls = api.config.get_bool('SERVE_LEGACY_URLS') legacy_urls = api.config.get_bool('SERVE_LEGACY_URLS')
formatter = load_format_dispatcher('v1', project_dir) formatter = load_format_dispatcher('v1', project_dir)

View File

@ -62,13 +62,13 @@ def extend_query_parts(queryparts: Dict[str, Any], details: Dict[str, Any],
""" """
parsed = SearchDetails.from_kwargs(details) parsed = SearchDetails.from_kwargs(details)
if parsed.geometry_output != GeometryFormat.NONE: if parsed.geometry_output != GeometryFormat.NONE:
if GeometryFormat.GEOJSON in parsed.geometry_output: if GeometryFormat.GEOJSON & parsed.geometry_output:
queryparts['polygon_geojson'] = '1' queryparts['polygon_geojson'] = '1'
if GeometryFormat.KML in parsed.geometry_output: if GeometryFormat.KML & parsed.geometry_output:
queryparts['polygon_kml'] = '1' queryparts['polygon_kml'] = '1'
if GeometryFormat.SVG in parsed.geometry_output: if GeometryFormat.SVG & parsed.geometry_output:
queryparts['polygon_svg'] = '1' queryparts['polygon_svg'] = '1'
if GeometryFormat.TEXT in parsed.geometry_output: if GeometryFormat.TEXT & parsed.geometry_output:
queryparts['polygon_text'] = '1' queryparts['polygon_text'] = '1'
if parsed.address_details: if parsed.address_details:
queryparts['addressdetails'] = '1' queryparts['addressdetails'] = '1'