diff --git a/mapping_provider/__init__.py b/mapping_provider/__init__.py index 0e871170c847936329e00e020bb7c23864699209..068b038ea5fd9e8c58bff3a47850f8dd610cd92c 100644 --- a/mapping_provider/__init__.py +++ b/mapping_provider/__init__.py @@ -12,7 +12,7 @@ from fastapi import FastAPI from mapping_provider import config, environment from mapping_provider.api import common, map -from mapping_provider.backends import correlator, inventory, cache +from mapping_provider.backends import cache, correlator, inventory logger = logging.getLogger(__name__) diff --git a/mapping_provider/api/map.py b/mapping_provider/api/map.py index 0fb98c2ebffa91a72af6f3a091ab0ddacb597a59..a022f77c09e7a5db28bf5b168858fcc88c070c67 100644 --- a/mapping_provider/api/map.py +++ b/mapping_provider/api/map.py @@ -7,6 +7,7 @@ from pydantic import BaseModel from mapping_provider import config from mapping_provider.backends import services + router = APIRouter() diff --git a/mapping_provider/backends/cache.py b/mapping_provider/backends/cache.py index 879ce54f07dee75dd13e93c10aaeb59a030619df..a4cc5ffc950f5052c5c42070dbba519d93797b8f 100644 --- a/mapping_provider/backends/cache.py +++ b/mapping_provider/backends/cache.py @@ -6,10 +6,10 @@ The global variable `cache_dir` is set during FastAPI server startup. Could be replaced with a proper caching module in the future, or maybe just a simple dict. """ -from typing import Any import json -import os import logging +import os +from typing import Any logger = logging.getLogger(__name__) _cache_dir: str | None = None @@ -17,7 +17,7 @@ _cache_dir: str | None = None def init(cache_dir: str) -> None: global _cache_dir - assert _cache_dir is None, f"cache_dir has already been initialized" + assert _cache_dir is None, "cache_dir has already been initialized" _cache_dir = cache_dir logger.debug(f"set cache directory: {_cache_dir}") @@ -26,7 +26,7 @@ def set(filename: str, data: dict[str, Any]) -> None: """ data must be a JSON-serializable dict. """ - assert _cache_dir is not None, f"cache_dir hasn't been initialized" + assert _cache_dir is not None, "cache_dir hasn't been initialized" with open(os.path.join(_cache_dir, filename), 'w') as f: f.write(json.dumps(data)) logger.debug(f"wrote cached data: {filename}") @@ -36,7 +36,7 @@ def get(filename: str) -> Any: """ Loads the cached data, parses it as json & returns the object. """ - assert _cache_dir is not None, f"cache_dir hasn't been initialized" - with open(os.path.join(_cache_dir, filename), 'r') as f: + assert _cache_dir is not None, "cache_dir hasn't been initialized" + with open(os.path.join(_cache_dir, filename)) as f: logger.debug(f"reading cached data: {filename}") return json.load(f) diff --git a/mapping_provider/backends/correlator.py b/mapping_provider/backends/correlator.py index 05d48267dfb0db1cc65e080e0a28340363b6542b..d9ec3b710cd3c03db2bd227d4b735236640f7df6 100644 --- a/mapping_provider/backends/correlator.py +++ b/mapping_provider/backends/correlator.py @@ -1,10 +1,8 @@ -import json import logging import os import socket import threading import time -from functools import partial from typing import TYPE_CHECKING, Any if TYPE_CHECKING: @@ -12,8 +10,8 @@ if TYPE_CHECKING: from pika.exchange_type import ExchangeType -from .rmq.exchange import RabbitMQClient, default_rmq_connection_params from . import cache +from .rmq.exchange import RabbitMQClient, default_rmq_connection_params logger = logging.getLogger(__name__) diff --git a/mapping_provider/backends/inventory.py b/mapping_provider/backends/inventory.py index 861dbc65ef38cc70b61738b80017bad66a725eeb..85e1727163b1100b3d13ea6b9cac17faaeecd450 100644 --- a/mapping_provider/backends/inventory.py +++ b/mapping_provider/backends/inventory.py @@ -1,9 +1,7 @@ -import json +import concurrent.futures import logging -import os import time from threading import Event -import concurrent.futures from typing import Any import requests diff --git a/mapping_provider/backends/services.py b/mapping_provider/backends/services.py index 750c0cc2033d6715ff324a9d613009d0e6f04d35..6abf52336b30368962310ed5391fbf1d7cd9e59e 100644 --- a/mapping_provider/backends/services.py +++ b/mapping_provider/backends/services.py @@ -1,6 +1,8 @@ -from pydantic import BaseModel -from typing import Any, Generator import logging +from collections.abc import Generator + +from pydantic import BaseModel + from . import cache, correlator, inventory logger = logging.getLogger(__name__) @@ -29,7 +31,7 @@ class ServiceList(BaseModel): services: list[Service] -def _services(service_type: str | None = None) -> Generator[Service, None, None]: +def _services(service_type: str | None = None) -> Generator[Service]: """ load the cached backend data and yield map service records @@ -45,7 +47,7 @@ def _services(service_type: str | None = None) -> Generator[Service, None, None] logger.exception('not enough data available to build the service list') return - def _get_down_correlator_services() -> Generator[str, None, None]: + def _get_down_correlator_services() -> Generator[str]: for _e in correlator_state['endpoints']: if _e['up']: continue diff --git a/test/conftest.py b/test/conftest.py index ee017fe6146c15d098e425afc406feadbf96ab09..60edf83fc32c2e749fea6da7e9efe45a98c336f3 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -7,7 +7,8 @@ import pytest from fastapi.testclient import TestClient from mapping_provider import create_app -from mapping_provider.backends import cache, inventory, correlator +from mapping_provider.backends import cache, correlator, inventory + from .common import load_test_data diff --git a/test/test_correlator.py b/test/test_correlator.py index 1f145915955e66be7f29e35312df536679aa7bee..6020af147b0ed665afdcfcdbc9f80302581b0e90 100644 --- a/test/test_correlator.py +++ b/test/test_correlator.py @@ -1,5 +1,3 @@ -import json -import os import tempfile from mapping_provider.backends import cache, correlator diff --git a/test/test_inventory.py b/test/test_inventory.py index 26050751ad7002b2488c2cd8cc6ab4c53bed4e00..a68a72bce95127da9f8bfb071e7d14af19bd1ad1 100644 --- a/test/test_inventory.py +++ b/test/test_inventory.py @@ -2,7 +2,8 @@ import tempfile import responses -from mapping_provider.backends import inventory, cache +from mapping_provider.backends import cache, inventory + from .common import load_test_data