From 244e753db27ae794d9c67f481eadfebb111e16a8 Mon Sep 17 00:00:00 2001 From: Erik Reid <erik.reid@geant.org> Date: Sat, 24 May 2025 16:20:29 +0200 Subject: [PATCH] ruffed --- mapping_provider/__init__.py | 2 +- mapping_provider/api/map.py | 1 + mapping_provider/backends/cache.py | 12 ++++++------ mapping_provider/backends/correlator.py | 4 +--- mapping_provider/backends/inventory.py | 4 +--- mapping_provider/backends/services.py | 10 ++++++---- test/conftest.py | 3 ++- test/test_correlator.py | 2 -- test/test_inventory.py | 3 ++- 9 files changed, 20 insertions(+), 21 deletions(-) diff --git a/mapping_provider/__init__.py b/mapping_provider/__init__.py index 0e87117..068b038 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 0fb98c2..a022f77 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 879ce54..a4cc5ff 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 05d4826..d9ec3b7 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 861dbc6..85e1727 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 750c0cc..6abf523 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 ee017fe..60edf83 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 1f14591..6020af1 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 2605075..a68a72b 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 -- GitLab