From 6c3c3d3dced8c43a504c9b70dd882a9e6b2fa3fe Mon Sep 17 00:00:00 2001 From: Fabian Schindler <fabian.schindler.strauss@gmail.com> Date: Thu, 28 Jul 2022 11:39:45 +0200 Subject: [PATCH] Fixing typing and import issues --- registrar/abc.py | 8 ++++---- registrar/config.py | 12 ++++++------ registrar/route/json.py | 18 +++++++----------- registrar/route/path.py | 4 +--- registrar/route/stac.py | 4 ++-- 5 files changed, 20 insertions(+), 26 deletions(-) diff --git a/registrar/abc.py b/registrar/abc.py index fa0eb7e..83a765b 100644 --- a/registrar/abc.py +++ b/registrar/abc.py @@ -30,10 +30,10 @@ class Backend(ABC, Generic[T]): """Deregisters an item using its identifier.""" -T = TypeVar("T") +TR = TypeVar("TR") -class Route(ABC, Generic[T]): +class Route(ABC, Generic[TR]): """A route is of a specific type and manages the registration from a specific queue to a list of backends. """ @@ -47,11 +47,11 @@ class Route(ABC, Generic[T]): return self.route_config.replace @abstractmethod - def parse(self, raw: str) -> T: + def parse(self, raw: str) -> TR: """Parses the value from the given raw input.""" @abstractmethod def get_source( - self, source_cfgs: List[SourceConfig], item: T + self, source_cfgs: List[SourceConfig], item: TR ) -> Optional[Source]: """Determines the source of the given parsed item.""" diff --git a/registrar/config.py b/registrar/config.py index c215bef..cf17e98 100644 --- a/registrar/config.py +++ b/registrar/config.py @@ -35,7 +35,7 @@ def constructor_env_variables(loader: yaml.Loader, node): if isinstance(value, str): match = ENV_PATTERN.findall(value) # to find all env variables in line if match: - full_value = value + full_value: str = value for group in match: env_variable = os.environ.get(group) if env_variable is not None: @@ -118,9 +118,9 @@ class HandlersConfig: error (List[HandlerConfig]): the error-handlers configuration """ - pre: List[HandlerConfig] = None - post: List[HandlerConfig] = None - error: List[HandlerConfig] = None + pre: List[HandlerConfig] = field(default_factory=list) + post: List[HandlerConfig] = field(default_factory=list) + error: List[HandlerConfig] = field(default_factory=list) @classmethod def from_dict(cls, values: dict) -> "HandlersConfig": @@ -168,7 +168,7 @@ class RouteConfig: output_queue: Optional[str] = None replace: bool = False backends: List[BackendConfig] = field(default_factory=list) - handlers: HandlersConfig = field(default_factory=HandlerConfig) + handlers: HandlersConfig = field(default_factory=HandlersConfig) args: List[Any] = field(default_factory=list) kwargs: Dict[str, Any] = field(default_factory=dict) @@ -205,7 +205,7 @@ class SourceConfig: type: str name: str - filter: Optional[str] + filter: Optional[str] = None args: List[Any] = field(default_factory=list) kwargs: Dict[str, str] = field(default_factory=dict) diff --git a/registrar/route/json.py b/registrar/route/json.py index 506d4a9..3416598 100644 --- a/registrar/route/json.py +++ b/registrar/route/json.py @@ -1,29 +1,25 @@ import json -from typing import List, Union - -from pyparsing import Optional - +from typing import List, Optional from ..abc import Route from ..config import RouteConfig, SourceConfig from ..source import Source, get_source -JSONType = Union[dict, list] - - -class JSONRoute(Route[JSONType]): +class JSONRoute(Route[dict]): """Route handler that handles raw JSON objects""" - def __init__(self, config: RouteConfig, href_field: Optional[str] = None): + def __init__( + self, config: RouteConfig, href_field: Optional[str] = None + ): super().__init__(config) self.href_field = href_field - def parse(self, raw: str) -> JSONType: + def parse(self, raw: str) -> dict: return json.loads(raw) def get_source( - self, source_cfgs: List[SourceConfig], item: JSONType + self, source_cfgs: List[SourceConfig], item: dict ) -> Optional[Source]: if self.href_field: path = item[self.href_field] diff --git a/registrar/route/path.py b/registrar/route/path.py index 77b6e6b..77942dc 100644 --- a/registrar/route/path.py +++ b/registrar/route/path.py @@ -1,9 +1,7 @@ """Module holding route classes dealing with POSIX paths """ -from typing import List - -from pyparsing import Optional +from typing import List, Optional from ..abc import Route from ..config import SourceConfig diff --git a/registrar/route/stac.py b/registrar/route/stac.py index 9959fda..3ecf7cf 100644 --- a/registrar/route/stac.py +++ b/registrar/route/stac.py @@ -21,7 +21,7 @@ class ItemRoute(Route[pystac.Item]): self, source_cfgs: List[SourceConfig], item: pystac.Item ) -> Optional[Source]: return get_source( - source_cfgs, [asset.href for asset in item.assets] + source_cfgs, [asset.href for asset in item.assets.values()] ) @@ -35,5 +35,5 @@ class CollectionRoute(Route[pystac.Collection]): self, source_cfgs: List[SourceConfig], item: pystac.Collection ) -> Optional[Source]: return get_source( - source_cfgs, [asset.href for asset in item.assets] + source_cfgs, [asset.href for asset in item.assets.values()] ) -- GitLab