Skip to content

Commit 58d4909

Browse files
committed
Update deprecated code #411
* Normalize package_uids before comparing results in tests * Update expected test results Signed-off-by: Jono Yang <jyang@nexb.com>
1 parent b406ac0 commit 58d4909

File tree

7 files changed

+106
-347
lines changed

7 files changed

+106
-347
lines changed

scanpipe/pipes/scancode.py

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -389,22 +389,24 @@ def create_codebase_resources(project, scanned_codebase):
389389
)
390390

391391
# associate DiscoveredPackage to Resource, if applicable
392-
for package_uid in scanned_resource.for_packages:
393-
package = DiscoveredPackage.objects.get(
394-
extra_data__contains={"package_uids": [package_uid]}
395-
)
396-
set_codebase_resource_for_package(
397-
codebase_resource=cbr, discovered_package=package
398-
)
392+
if hasattr(scanned_resource, "for_packages"):
393+
for package_uid in scanned_resource.for_packages:
394+
package = DiscoveredPackage.objects.get(
395+
extra_data__contains={"package_uids": [package_uid]}
396+
)
397+
set_codebase_resource_for_package(
398+
codebase_resource=cbr, discovered_package=package
399+
)
399400

400401

401402
def create_discovered_packages(project, scanned_codebase):
402403
"""
403404
Saves the packages of a ScanCode `scanned_codebase` scancode.resource.Codebase
404405
object to the database as a DiscoveredPackage of `project`.
405406
"""
406-
for package_data in scanned_codebase.attributes.packages:
407-
pipes.update_or_create_package(project, package_data)
407+
if hasattr(scanned_codebase.attributes, "packages"):
408+
for package_data in scanned_codebase.attributes.packages:
409+
pipes.update_or_create_package(project, package_data)
408410

409411

410412
def set_codebase_resource_for_package(codebase_resource, discovered_package):

scanpipe/pipes/windows.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
from django.db.models import Q
2626

2727
from packagedcode import win_reg
28+
from packagedcode.models import Package
2829

2930
from scanpipe import pipes
3031

@@ -150,7 +151,8 @@ def _tag_python_software(project):
150151
q_objects = [~Q(rootfs_path__icontains="site-packages")]
151152

152153
for python_path, python_version in python_versions_by_path.items():
153-
python_package = win_reg.InstalledWindowsProgram(
154+
python_package = Package(
155+
type="windows-program",
154156
name="Python",
155157
version=python_version,
156158
license_expression="python",
@@ -194,7 +196,8 @@ def _tag_openjdk_software(project):
194196
openjdk_versions_by_path[openjdk_root_path] = openjdk_version
195197

196198
for openjdk_path, openjdk_version in openjdk_versions_by_path.items():
197-
openjdk_package = win_reg.InstalledWindowsProgram(
199+
openjdk_package = Package(
200+
type="windows-program",
198201
name="OpenJDK",
199202
version=openjdk_version,
200203
license_expression="gpl-2.0 WITH oracle-openjdk-classpath-exception-2.0",
@@ -270,7 +273,7 @@ def tag_program_files(project):
270273
program_files_dirname_by_path[program_files_subdir] = dirname
271274

272275
for root_dir, root_dir_name in program_files_dirname_by_path.items():
273-
package = win_reg.InstalledWindowsProgram(name=root_dir_name, version="nv")
276+
package = Package(type="windows-program", name=root_dir_name, version="nv")
274277
tag_installed_package_files(
275278
project=project,
276279
root_dir_pattern=root_dir,

scanpipe/tests/data/is-npm-1.0.0_scan_codebase.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@
6161
"is_runtime": false,
6262
"is_optional": true,
6363
"is_resolved": false,
64-
"requirement": "0.0.3"
64+
"resolved_package": {},
65+
"extracted_requirement": "0.0.3"
6566
}
6667
],
6768
"keywords": [
@@ -182,7 +183,7 @@
182183
},
183184
{
184185
"for_packages": [
185-
"pkg:npm/is-npm@1.0.0"
186+
"pkg:npm/is-npm@1.0.0?uuid=fixed-uid-done-for-testing-5642512d1758"
186187
],
187188
"path": "is-npm-1.0.0.tgz-extract/package/package.json",
188189
"sha1": "943efb8abda9b9cdaa4ea73f5709563b948af50b",
@@ -216,14 +217,14 @@
216217
"extra_data": {},
217218
"copyrights": [
218219
{
219-
"value": "(c) Sindre Sorhus (http://sindresorhus.com)",
220220
"end_line": 30,
221+
"copyright": "(c) Sindre Sorhus (http://sindresorhus.com)",
221222
"start_line": 30
222223
}
223224
],
224225
"holders": [
225226
{
226-
"value": "Sindre Sorhus",
227+
"holder": "Sindre Sorhus",
227228
"end_line": 30,
228229
"start_line": 30
229230
}

0 commit comments

Comments
 (0)