From f50d8cee14b4e50cdee25703c86e05f96dbee49b Mon Sep 17 00:00:00 2001 From: Thomas Graf Date: Tue, 10 Feb 2026 19:49:54 +0100 Subject: [PATCH 1/3] fix: fix issue in `project prerequisites` when reading an empty project --- ChangeLog.md | 1 + capycli/project/check_prerequisites.py | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog.md b/ChangeLog.md index 35a91c0..4f638c3 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -8,6 +8,7 @@ ## NEXT * `bom show` now also shows the group, if it exists. +* Fix issue in `project prerequisites` when reading an empty project. ## 2.10.0 diff --git a/capycli/project/check_prerequisites.py b/capycli/project/check_prerequisites.py index 550bdcd..b3f5074 100644 --- a/capycli/project/check_prerequisites.py +++ b/capycli/project/check_prerequisites.py @@ -155,6 +155,7 @@ def check_project_prerequisites(self, id: str, sbom: Optional[Bom]) -> bool: else: print_text("\n No linked projects") + releases: Dict[str, Any] = {} if "sw360:releases" in project["_embedded"]: print_text("\n Components: ") releases = project["_embedded"]["sw360:releases"] @@ -267,7 +268,10 @@ def check_project_prerequisites(self, id: str, sbom: Optional[Bom]) -> bool: print_text(" No linked releases") print_text("\nSummary:") - print_text(" Total components: " + str(len(releases))) + if releases: + print_text(" Total components: " + str(len(releases))) + else: + print_text(" Total components: 0 (no releases)") if count_warnings > 0: print_yellow(" Warnings: " + str(count_warnings)) if count_errors > 0: From a7730323d80df83155304cbe0dbf21c42713a1e5 Mon Sep 17 00:00:00 2001 From: Thomas Graf Date: Tue, 10 Feb 2026 21:39:27 +0100 Subject: [PATCH 2/3] fix: correct type for mypy --- capycli/project/check_prerequisites.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/capycli/project/check_prerequisites.py b/capycli/project/check_prerequisites.py index b3f5074..a6c37e9 100644 --- a/capycli/project/check_prerequisites.py +++ b/capycli/project/check_prerequisites.py @@ -155,7 +155,7 @@ def check_project_prerequisites(self, id: str, sbom: Optional[Bom]) -> bool: else: print_text("\n No linked projects") - releases: Dict[str, Any] = {} + releases: List[Dict[str, Any]] = [] if "sw360:releases" in project["_embedded"]: print_text("\n Components: ") releases = project["_embedded"]["sw360:releases"] @@ -163,7 +163,7 @@ def check_project_prerequisites(self, id: str, sbom: Optional[Bom]) -> bool: href = key["_links"]["self"]["href"] release = self.client.get_release_by_url(href) if not release: - print_red("Error accessign release " + href) + print_red("Error accessing release " + href) count_errors += 1 continue From 3570d8e6564977b1d945bf7b0fd48bb290b29369 Mon Sep 17 00:00:00 2001 From: Thomas Graf Date: Tue, 10 Feb 2026 21:39:42 +0100 Subject: [PATCH 3/3] fix: isort --- tests/test_get_dependencies_rust.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_get_dependencies_rust.py b/tests/test_get_dependencies_rust.py index 44c59d6..65289cd 100644 --- a/tests/test_get_dependencies_rust.py +++ b/tests/test_get_dependencies_rust.py @@ -7,8 +7,8 @@ # ------------------------------------------------------------------------------- import os -import pytest +import pytest import responses # from capycli.common import json_support