Skip to content

Commit 6580c38

Browse files
committed
Track package_uids in make_results_summary #435
* Avoid checking if package_data dictionary is already in the key_files_packages list * Keep track of package_uids instead Signed-off-by: Jono Yang <jyang@nexb.com>
1 parent 695eef0 commit 6580c38

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

scanpipe/pipes/scancode.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,7 @@ def make_results_summary(project, scan_results_location):
474474

475475
key_files = []
476476
key_files_packages = []
477+
seen_package_uids = []
477478

478479
for resource in key_files_qs:
479480
resource_data = CodebaseResourceSerializer(resource).data
@@ -483,7 +484,13 @@ def make_results_summary(project, scan_results_location):
483484
packages = resource.discovered_packages.all()
484485
for package in packages:
485486
package_data = DiscoveredPackageSerializer(package).data
486-
if package_data not in key_files_packages:
487+
package_uids = package_data.get('extra_data', {}).get("package_uids", [])
488+
already_seen = all(
489+
package_uid in seen_package_uids
490+
for package_uid in package_uids
491+
)
492+
if not already_seen:
493+
seen_package_uids.extend(package_uids)
487494
key_files_packages.append(package_data)
488495

489496
summary["key_files"] = key_files

0 commit comments

Comments
 (0)