From 5486ae4a19f27af3911dcc18f5375b89e6bf1c29 Mon Sep 17 00:00:00 2001 From: Evgenii Alekseev Date: Wed, 25 Sep 2024 14:23:53 +0300 Subject: [PATCH] fix: suppress info logging during version check --- .../core/database/operations/operations.py | 13 ++++++------- src/ahriman/core/database/sqlite.py | 18 ++++++------------ src/ahriman/core/repository/update_handler.py | 3 ++- tests/ahriman/core/database/test_sqlite.py | 12 ++++++------ 4 files changed, 20 insertions(+), 26 deletions(-) diff --git a/src/ahriman/core/database/operations/operations.py b/src/ahriman/core/database/operations/operations.py index be675b83..e322526b 100644 --- a/src/ahriman/core/database/operations/operations.py +++ b/src/ahriman/core/database/operations/operations.py @@ -23,9 +23,8 @@ from collections.abc import Callable from pathlib import Path from typing import Any, TypeVar +from ahriman.core.configuration import Configuration from ahriman.core.log import LazyLogging -from ahriman.models.repository_id import RepositoryId -from ahriman.models.repository_paths import RepositoryPaths T = TypeVar("T") @@ -39,16 +38,16 @@ class Operations(LazyLogging): path(Path): path to the database file """ - def __init__(self, path: Path, repository_id: RepositoryId, repository_paths: RepositoryPaths) -> None: + def __init__(self, path: Path, configuration: Configuration) -> None: """ Args: path(Path): path to the database file - repository_id(RepositoryId): repository unique identifier - repository_paths(RepositoryPaths): repository paths + configuration(Configuration): configuration instance """ self.path = path - self._repository_id = repository_id - self._repository_paths = repository_paths + self._configuration = configuration + _, self._repository_id = configuration.check_loaded() + self._repository_paths = configuration.repository_paths @property def logger_name(self) -> str: diff --git a/src/ahriman/core/database/sqlite.py b/src/ahriman/core/database/sqlite.py index 1fb60407..41e90943 100644 --- a/src/ahriman/core/database/sqlite.py +++ b/src/ahriman/core/database/sqlite.py @@ -66,10 +66,9 @@ class SQLite( Self: fully initialized instance of the database """ path = cls.database_path(configuration) - _, repository_id = configuration.check_loaded() - database = cls(path, repository_id, configuration.repository_paths) - database.init(configuration) + database = cls(path, configuration) + database.init() return database @@ -86,23 +85,18 @@ class SQLite( """ return configuration.getpath("settings", "database") - def init(self, configuration: Configuration) -> None: + def init(self) -> None: """ perform database migrations - - Args: - configuration(Configuration): configuration instance """ # custom types support sqlite3.register_adapter(dict, json.dumps) sqlite3.register_adapter(list, json.dumps) sqlite3.register_converter("json", json.loads) - paths = configuration.repository_paths - - if configuration.getboolean("settings", "apply_migrations", fallback=True): - self.with_connection(lambda connection: Migrations.migrate(connection, configuration)) - paths.chown(self.path) + if self._configuration.getboolean("settings", "apply_migrations", fallback=True): + self.with_connection(lambda connection: Migrations.migrate(connection, self._configuration)) + self._repository_paths.chown(self.path) def package_clear(self, package_base: str, repository_id: RepositoryId | None = None) -> None: """ diff --git a/src/ahriman/core/repository/update_handler.py b/src/ahriman/core/repository/update_handler.py index c4d5895b..3a45fa6c 100644 --- a/src/ahriman/core/repository/update_handler.py +++ b/src/ahriman/core/repository/update_handler.py @@ -144,7 +144,8 @@ class UpdateHandler(PackageInfo, Cleaner): branch="master", ) - Sources.fetch(cache_dir, source) + with self.suppress_logging(): + Sources.fetch(cache_dir, source) remote = Package.from_build(cache_dir, self.architecture, None) local = packages.get(remote.base) diff --git a/tests/ahriman/core/database/test_sqlite.py b/tests/ahriman/core/database/test_sqlite.py index f3bdf53d..60581334 100644 --- a/tests/ahriman/core/database/test_sqlite.py +++ b/tests/ahriman/core/database/test_sqlite.py @@ -13,7 +13,7 @@ def test_load(configuration: Configuration, mocker: MockerFixture) -> None: """ init_mock = mocker.patch("ahriman.core.database.SQLite.init") SQLite.load(configuration) - init_mock.assert_called_once_with(configuration) + init_mock.assert_called_once_with() def test_init(database: SQLite, configuration: Configuration, mocker: MockerFixture) -> None: @@ -21,18 +21,18 @@ def test_init(database: SQLite, configuration: Configuration, mocker: MockerFixt must run migrations on init """ migrate_schema_mock = mocker.patch("ahriman.core.database.migrations.Migrations.migrate") - database.init(configuration) - migrate_schema_mock.assert_called_once_with(pytest.helpers.anyvar(int), configuration) + database.init() + migrate_schema_mock.assert_called_once_with(pytest.helpers.anyvar(int), database._configuration) -def test_init_skip_migration(database: SQLite, configuration: Configuration, mocker: MockerFixture) -> None: +def test_init_skip_migration(database: SQLite, mocker: MockerFixture) -> None: """ must skip migrations if option is set """ - configuration.set_option("settings", "apply_migrations", "no") + database._configuration.set_option("settings", "apply_migrations", "no") migrate_schema_mock = mocker.patch("ahriman.core.database.migrations.Migrations.migrate") - database.init(configuration) + database.init() migrate_schema_mock.assert_not_called()