Skip to content

Commit 23b185a

Browse files
Merge pull request #7 from IntelLabs/output_fix
Output fix
2 parents 7d57396 + c4444f2 commit 23b185a

File tree

7 files changed

+68
-87
lines changed

7 files changed

+68
-87
lines changed
52 KB
Binary file not shown.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "superBOM"
3-
version = "0.2.0"
3+
version = "0.2.1"
44
description = ""
55
authors = ["Michael Beale <[email protected]>"]
66
license = "Apache-2.0"

src/superbom/main.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ def save_results(results: Dict[str, pd.DataFrame], output_path: str, format: str
7171
logger.info(f"License Info: {result}\n{df}")
7272

7373

74-
def process_items(items, process_method, *args, **kwargs) -> List:
74+
def process_items(items, process_method, *args, **kwargs) -> set:
7575
"""
7676
Process items using the specified method.
7777
@@ -81,15 +81,13 @@ def process_items(items, process_method, *args, **kwargs) -> List:
8181
*args: Additional arguments to pass to the process method.
8282
**kwargs: Additional keyword arguments to pass to the process method.
8383
"""
84-
results = []
8584

85+
results = []
8686
for item in tqdm.tqdm(
8787
items, desc="Processing items", unit="item", disable=logger.level > logging.INFO
8888
):
8989
try:
90-
result = process_method(item, *args, **kwargs)
91-
if result:
92-
results.append(result)
90+
results.append(process_method(item, *args, **kwargs))
9391
except Exception as e:
9492
logger.error(f"Error processing item {item}: {e}")
9593

src/superbom/utils/packageindexes/conda/condadependencies.py

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -76,15 +76,13 @@ def _find_license(self, dictionary, license):
7676
return None, None
7777

7878
def retrieve_conda_package_info(self, package) -> dict:
79-
package_data = []
79+
package_data = {}
8080

8181
# make sure there's a package name
8282
if not package:
8383
return package_data
8484

8585
parsed = self.parse_conda_dependency(package)
86-
87-
package_info = {}
8886
found_channel = ""
8987
found_platform = ""
9088

@@ -141,15 +139,13 @@ def retrieve_conda_package_info(self, package) -> dict:
141139
else:
142140
validated, license = False, "No License Information"
143141

144-
package_data.append(
145-
{
146-
"Package": name,
147-
"Version": version,
148-
"License": license,
149-
"Validated": validated,
150-
"Source": f"{found_channel}:{found_platform}",
151-
}
152-
)
142+
package_data = {
143+
"Package": name,
144+
"Version": version,
145+
"License": license,
146+
"Validated": validated,
147+
"Source": f"{found_channel}:{found_platform}",
148+
}
153149

154150
logger.debug(
155151
f"Package: {name}, Version: {version}, License: {license}, Source: {found_channel}:{found_platform}"

src/superbom/utils/packageindexes/pypi/pipdependencies.py

Lines changed: 16 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ def _getpypimetadata(self, package):
2525

2626
return package_data
2727

28-
def get_pip_package_data(self, package) -> list:
29-
package_data = []
28+
def get_pip_package_data(self, package) -> dict:
29+
package_data = {}
3030

3131
# Skip python package
3232
if package.name == "python":
@@ -40,15 +40,13 @@ def get_pip_package_data(self, package) -> list:
4040
validated, license = pypiutils.get_license(metadata)
4141
source = "pypi"
4242

43-
package_data.append(
44-
{
45-
"Package": name,
46-
"Version": version,
47-
"License": license,
48-
"Validated": validated,
49-
"Source": source,
50-
}
51-
)
43+
package_data = {
44+
"Package": name,
45+
"Version": version,
46+
"License": license,
47+
"Validated": validated,
48+
"Source": source,
49+
}
5250
self.logger.debug(
5351
f"Package: {name}, Version: {version}, License: {license}, Source: {source}"
5452
)
@@ -59,17 +57,12 @@ def get_pip_package_data(self, package) -> list:
5957
validated, license = githubutils.get_license(package.name)
6058
version = "N/A"
6159
source = "github"
62-
package_data.append(
63-
{
64-
"Package": package.name,
65-
"Version": version,
66-
"License": license,
67-
"Validated": validated,
68-
"Source": source,
69-
}
70-
)
71-
self.logger.debug(
72-
f"Package: {package.name}, Version: {version}, License: {license}, Source: {source}"
73-
)
60+
package_data = {
61+
"Package": package.name,
62+
"Version": version,
63+
"License": license,
64+
"Validated": validated,
65+
"Source": source,
66+
}
7467

7568
return package_data

tests/unit_tests/test_condadeps.py

Lines changed: 23 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -70,15 +70,13 @@ def test_retrieve_conda_package_info_success(
7070
dep = "conda-forge::test-package=1.0.0"
7171
result = self.util.retrieve_conda_package_info(dep)
7272

73-
expected = [
74-
{
75-
"Package": "test-package",
76-
"Version": "1.0.0",
77-
"License": "MIT",
78-
"Validated": True,
79-
"Source": "conda-forge:noarch",
80-
}
81-
]
73+
expected = {
74+
"Package": "test-package",
75+
"Version": "1.0.0",
76+
"License": "MIT",
77+
"Validated": True,
78+
"Source": "conda-forge:noarch",
79+
}
8280
self.assertEqual(result, expected)
8381

8482
@patch("superbom.utils.packageindexes.conda.condadependencies.CondaCache.get_cache")
@@ -102,15 +100,14 @@ def test_retrieve_conda_package_info_no_license(
102100

103101
dep = "conda-forge::test-package=1.0.0"
104102
result = self.util.retrieve_conda_package_info(dep)
105-
expected = [
106-
{
107-
"Package": "test-package",
108-
"Version": "1.0.0",
109-
"License": "No License Information",
110-
"Validated": False,
111-
"Source": "conda-forge:noarch",
112-
}
113-
]
103+
expected = {
104+
"Package": "test-package",
105+
"Version": "1.0.0",
106+
"License": "No License Information",
107+
"Validated": False,
108+
"Source": "conda-forge:noarch",
109+
}
110+
114111
self.assertEqual(result, expected)
115112

116113
@patch("superbom.utils.packageindexes.conda.condadependencies.CondaCache.get_cache")
@@ -131,15 +128,14 @@ def test_retrieve_conda_package_info_not_found(
131128

132129
dep = "conda-forge::nonexistent-package"
133130
result = self.util.retrieve_conda_package_info(dep)
134-
expected = [
135-
{
136-
"Package": "nonexistent-package",
137-
"Version": None,
138-
"License": "No License Information",
139-
"Validated": False,
140-
"Source": ":",
141-
}
142-
]
131+
expected = {
132+
"Package": "nonexistent-package",
133+
"Version": None,
134+
"License": "No License Information",
135+
"Validated": False,
136+
"Source": ":",
137+
}
138+
143139
self.assertEqual(result, expected)
144140

145141

tests/unit_tests/test_pipdeps.py

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,14 @@ def test_get_pip_packages_data_pypi(self, mock_get_license, mock_requests_get):
2525
util = PyPIPackageUtil()
2626
result = util.get_pip_package_data(mock_package)
2727

28-
expected_result = [
29-
{
30-
"Package": "testpackage",
31-
"Version": "1.0.0",
32-
"License": "MIT",
33-
"Validated": True,
34-
"Source": "pypi",
35-
}
36-
]
28+
expected_result = {
29+
"Package": "testpackage",
30+
"Version": "1.0.0",
31+
"License": "MIT",
32+
"Validated": True,
33+
"Source": "pypi",
34+
}
35+
3736
self.assertEqual(result, expected_result)
3837

3938
@patch("superbom.utils.packageindexes.pypi.pipdependencies.requests.get")
@@ -50,15 +49,14 @@ def test_get_pip_packages_data_github(self, mock_get_license, mock_requests_get)
5049
util = PyPIPackageUtil()
5150
result = util.get_pip_package_data(mock_package)
5251

53-
expected_result = [
54-
{
55-
"Package": "testpackage",
56-
"Version": "N/A",
57-
"License": "MIT",
58-
"Validated": True,
59-
"Source": "github",
60-
}
61-
]
52+
expected_result = {
53+
"Package": "testpackage",
54+
"Version": "N/A",
55+
"License": "MIT",
56+
"Validated": True,
57+
"Source": "github",
58+
}
59+
6260
self.assertEqual(result, expected_result)
6361

6462
@patch("superbom.utils.packageindexes.pypi.pipdependencies.requests.get")
@@ -69,7 +67,7 @@ def test_get_pip_packages_data_python(self, mock_requests_get):
6967
util = PyPIPackageUtil()
7068
result = util.get_pip_package_data(mock_package)
7169

72-
self.assertEqual(result, [])
70+
self.assertEqual(result, {})
7371

7472

7573
if __name__ == "__main__":

0 commit comments

Comments
 (0)