From cdd0ffbbd2b46abaeafbaf55d091f226b7a76aa3 Mon Sep 17 00:00:00 2001 From: Evgenii Alekseev Date: Tue, 17 Feb 2026 01:32:39 +0200 Subject: [PATCH] bug: do not clear queue on queue fetch failures --- src/ahriman/core/repository/update_handler.py | 3 ++- tests/ahriman/core/repository/test_update_handler.py | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/ahriman/core/repository/update_handler.py b/src/ahriman/core/repository/update_handler.py index 1a992489..953be782 100644 --- a/src/ahriman/core/repository/update_handler.py +++ b/src/ahriman/core/repository/update_handler.py @@ -185,8 +185,9 @@ class UpdateHandler(PackageInfo, Cleaner): else: self.reporter.set_pending(local.base) self.event(local.base, EventType.PackageOutdated, "Manual update is requested") + + self.clear_queue() except Exception: self.logger.exception("could not load packages from database") - self.clear_queue() return result diff --git a/tests/ahriman/core/repository/test_update_handler.py b/tests/ahriman/core/repository/test_update_handler.py index bed9ec67..1a458c99 100644 --- a/tests/ahriman/core/repository/test_update_handler.py +++ b/tests/ahriman/core/repository/test_update_handler.py @@ -357,4 +357,8 @@ def test_updates_manual_with_failures(update_handler: UpdateHandler, package_ahr """ mocker.patch("ahriman.core.database.SQLite.build_queue_get", side_effect=Exception) mocker.patch("ahriman.core.repository.update_handler.UpdateHandler.packages", return_value=[package_ahriman]) + assert update_handler.updates_manual() == [] + + from ahriman.core.repository.cleaner import Cleaner + Cleaner.clear_queue.assert_not_called()