fix: suppress info logging during version check

This commit is contained in:
Evgenii Alekseev 2024-09-25 14:23:53 +03:00
parent 8bdf420cdc
commit 5486ae4a19
4 changed files with 20 additions and 26 deletions

View File

@ -23,9 +23,8 @@ from collections.abc import Callable
from pathlib import Path from pathlib import Path
from typing import Any, TypeVar from typing import Any, TypeVar
from ahriman.core.configuration import Configuration
from ahriman.core.log import LazyLogging from ahriman.core.log import LazyLogging
from ahriman.models.repository_id import RepositoryId
from ahriman.models.repository_paths import RepositoryPaths
T = TypeVar("T") T = TypeVar("T")
@ -39,16 +38,16 @@ class Operations(LazyLogging):
path(Path): path to the database file 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: Args:
path(Path): path to the database file path(Path): path to the database file
repository_id(RepositoryId): repository unique identifier configuration(Configuration): configuration instance
repository_paths(RepositoryPaths): repository paths
""" """
self.path = path self.path = path
self._repository_id = repository_id self._configuration = configuration
self._repository_paths = repository_paths _, self._repository_id = configuration.check_loaded()
self._repository_paths = configuration.repository_paths
@property @property
def logger_name(self) -> str: def logger_name(self) -> str:

View File

@ -66,10 +66,9 @@ class SQLite(
Self: fully initialized instance of the database Self: fully initialized instance of the database
""" """
path = cls.database_path(configuration) path = cls.database_path(configuration)
_, repository_id = configuration.check_loaded()
database = cls(path, repository_id, configuration.repository_paths) database = cls(path, configuration)
database.init(configuration) database.init()
return database return database
@ -86,23 +85,18 @@ class SQLite(
""" """
return configuration.getpath("settings", "database") return configuration.getpath("settings", "database")
def init(self, configuration: Configuration) -> None: def init(self) -> None:
""" """
perform database migrations perform database migrations
Args:
configuration(Configuration): configuration instance
""" """
# custom types support # custom types support
sqlite3.register_adapter(dict, json.dumps) sqlite3.register_adapter(dict, json.dumps)
sqlite3.register_adapter(list, json.dumps) sqlite3.register_adapter(list, json.dumps)
sqlite3.register_converter("json", json.loads) sqlite3.register_converter("json", json.loads)
paths = configuration.repository_paths if self._configuration.getboolean("settings", "apply_migrations", fallback=True):
self.with_connection(lambda connection: Migrations.migrate(connection, self._configuration))
if configuration.getboolean("settings", "apply_migrations", fallback=True): self._repository_paths.chown(self.path)
self.with_connection(lambda connection: Migrations.migrate(connection, configuration))
paths.chown(self.path)
def package_clear(self, package_base: str, repository_id: RepositoryId | None = None) -> None: def package_clear(self, package_base: str, repository_id: RepositoryId | None = None) -> None:
""" """

View File

@ -144,6 +144,7 @@ class UpdateHandler(PackageInfo, Cleaner):
branch="master", branch="master",
) )
with self.suppress_logging():
Sources.fetch(cache_dir, source) Sources.fetch(cache_dir, source)
remote = Package.from_build(cache_dir, self.architecture, None) remote = Package.from_build(cache_dir, self.architecture, None)

View File

@ -13,7 +13,7 @@ def test_load(configuration: Configuration, mocker: MockerFixture) -> None:
""" """
init_mock = mocker.patch("ahriman.core.database.SQLite.init") init_mock = mocker.patch("ahriman.core.database.SQLite.init")
SQLite.load(configuration) 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: 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 must run migrations on init
""" """
migrate_schema_mock = mocker.patch("ahriman.core.database.migrations.Migrations.migrate") migrate_schema_mock = mocker.patch("ahriman.core.database.migrations.Migrations.migrate")
database.init(configuration) database.init()
migrate_schema_mock.assert_called_once_with(pytest.helpers.anyvar(int), configuration) 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 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") migrate_schema_mock = mocker.patch("ahriman.core.database.migrations.Migrations.migrate")
database.init(configuration) database.init()
migrate_schema_mock.assert_not_called() migrate_schema_mock.assert_not_called()