From db417999e4725cf35c1402987d20d0e58a50170e Mon Sep 17 00:00:00 2001 From: Clemens Rudert Date: Fri, 6 Sep 2024 12:53:41 +0200 Subject: [PATCH] fix git precommit --- src/qgis_server_light/interface/job.py | 214 ++++++------------------- 1 file changed, 45 insertions(+), 169 deletions(-) diff --git a/src/qgis_server_light/interface/job.py b/src/qgis_server_light/interface/job.py index 89d149c..09e1b1f 100644 --- a/src/qgis_server_light/interface/job.py +++ b/src/qgis_server_light/interface/job.py @@ -1,60 +1,30 @@ import inspect import logging -from dataclasses import dataclass, field -from typing import List, Tuple, Any +from dataclasses import dataclass +from dataclasses import field +from typing import Any +from typing import List -from qgis_server_light.interface.qgis import Raster, Vector +from qgis_server_light.interface.qgis import Custom +from qgis_server_light.interface.qgis import Raster +from qgis_server_light.interface.qgis import Vector log = logging.getLogger(__name__) @dataclass class AbstractWmsParams: - BBOX: str = field( - metadata={ - "type": "Element", - "required": True - } - ) - CRS: str = field( - metadata={ - "type": "Element", - "required": True - } - ) - WIDTH: str = field( - metadata={ - "type": "Element", - "required": True - } - ) - HEIGHT: str = field( - metadata={ - "type": "Element", - "required": True - } - ) + BBOX: str = field(metadata={"type": "Element", "required": True}) + CRS: str = field(metadata={"type": "Element", "required": True}) + WIDTH: str = field(metadata={"type": "Element", "required": True}) + HEIGHT: str = field(metadata={"type": "Element", "required": True}) # optional parameters - DPI: str = field( - default=None, - metadata={ - "type": "Element", - "required": False - } - ) + DPI: str = field(default=None, metadata={"type": "Element", "required": False}) FORMAT_OPTIONS: str = field( - default=None, - metadata={ - "type": "Element", - "required": False - } + default=None, metadata={"type": "Element", "required": False} ) STYLES: str = field( - default_factory=list, - metadata={ - "type": "Element", - "required": False - } + default_factory=list, metadata={"type": "Element", "required": False} ) @property @@ -68,84 +38,44 @@ def dpi(self) -> int | None: @property def bbox(self) -> List[str]: - return self.BBOX.split(',') + return self.BBOX.split(",") @classmethod def from_overloaded_dict(cls, params: dict): - return cls(**{ - k: v for k, v in params.items() - if k in inspect.signature(cls).parameters - }) + return cls( + **{ + k: v + for k, v in params.items() + if k in inspect.signature(cls).parameters + } + ) @dataclass(kw_only=True) class WmsGetMapParams(AbstractWmsParams): """Represents query parameters from the original WMS request""" - LAYERS: str = field( - metadata={ - "type": "Element", - "required": True - } - ) + LAYERS: str = field(metadata={"type": "Element", "required": True}) # mime type of the requested image FORMAT: str = field( - default="image/png", - metadata={ - "type": "Element", - "required": True - } + default="image/png", metadata={"type": "Element", "required": True} ) @property def layers(self) -> List[str]: - return self.LAYERS.split(',') + return self.LAYERS.split(",") class WmsGetFeatureInfoParams(AbstractWmsParams): - X: str = field( - default=None, - metadata={ - "type": "Element", - "required": True - } - ) - Y: str = field( - default=None, - metadata={ - "type": "Element", - "required": True - } - ) - I: str = field( - default=None, - metadata={ - "type": "Element", - "required": True - } - ) - J: str = field( - default=None, - metadata={ - "type": "Element", - "required": True - } - ) - INFO_FORMAT: str = field( - metadata={ - "type": "Element", - "required": True - } - ) + X: str = field(default=None, metadata={"type": "Element", "required": True}) + Y: str = field(default=None, metadata={"type": "Element", "required": True}) + I: str = field(default=None, metadata={"type": "Element", "required": True}) + J: str = field(default=None, metadata={"type": "Element", "required": True}) + INFO_FORMAT: str = field(metadata={"type": "Element", "required": True}) # mime type, only application/json supported - QUERY_LAYERS: str = field( - metadata={ - "type": "Element", - "required": True - } - ) + QUERY_LAYERS: str = field(metadata={"type": "Element", "required": True}) def __post_init__(self): x = int(self.I or self.X) @@ -171,12 +101,7 @@ def query_layers(self): class QslAbstractJob: - svg_paths: List[str] = field( - metadata={ - "type": "Element", - "required": True - } - ) + svg_paths: List[str] = field(metadata={"type": "Element", "required": True}) @dataclass @@ -184,25 +109,14 @@ class QslGetMapJob(QslAbstractJob): """A job to be rendered as an image""" service_params: WmsGetMapParams = field( - metadata={ - "type": "Element", - "required": True - } + metadata={"type": "Element", "required": True} ) - raster_layers: List[Raster] = field( - metadata={ - "type": "Element", - "required": True - } - ) + raster_layers: List[Raster] = field(metadata={"type": "Element", "required": True}) - vector_layers: List[Vector] = field( - metadata={ - "type": "Element", - "required": True - } - ) + vector_layers: List[Vector] = field(metadata={"type": "Element", "required": True}) + + custom_layers: List[Custom] = field(metadata={"type": "Element", "required": True}) def get_layer_by_name(self, name: str) -> Raster | Vector: name = name.lower() @@ -218,10 +132,7 @@ class QslGetFeatureInfoJob(QslAbstractJob): """A job to extract feature info""" service_params: WmsGetFeatureInfoParams = field( - metadata={ - "type": "Element", - "required": True - } + metadata={"type": "Element", "required": True} ) @@ -232,61 +143,26 @@ class QslLegendJob(QslAbstractJob): @dataclass class JobResult: - data: Any = field( - metadata={ - "type": "Element", - "required": True - } - ) - content_type: str = field( - metadata={ - "type": "Element", - "required": True - } - ) + data: Any = field(metadata={"type": "Element", "required": True}) + content_type: str = field(metadata={"type": "Element", "required": True}) @dataclass class AbstractJobRunnerInfo: - id: str = field( - metadata={ - "type": "Element", - "required": True - } - ) - type: str = field( - metadata={ - "type": "Element", - "required": True - } - ) + id: str = field(metadata={"type": "Element", "required": True}) + type: str = field(metadata={"type": "Element", "required": True}) @dataclass class JobRunnerInfoQslGetMapJob(AbstractJobRunnerInfo): - job: QslGetMapJob = field( - metadata={ - "type": "Element", - "required": True - } - ) + job: QslGetMapJob = field(metadata={"type": "Element", "required": True}) @dataclass class JobRunnerInfoQslGetFeatureInfoJob(AbstractJobRunnerInfo): - job: QslGetFeatureInfoJob = field( - metadata={ - "type": "Element", - "required": True - } - ) + job: QslGetFeatureInfoJob = field(metadata={"type": "Element", "required": True}) @dataclass class JobRunnerInfoQslLegendJob(AbstractJobRunnerInfo): - job: QslLegendJob = field( - metadata={ - "type": "Element", - "required": True - } - ) + job: QslLegendJob = field(metadata={"type": "Element", "required": True})