@@ -337,6 +337,7 @@ def process_request(purl_str, **kwargs):
337
337
source_purl = kwargs .get ("source_purl" , None )
338
338
addon_pipelines = kwargs .get ('addon_pipelines' , [])
339
339
pipelines = DEFAULT_PIPELINES + tuple (addon_pipelines )
340
+ priority = kwargs .get ('priority' , 0 )
340
341
341
342
try :
342
343
package_url = PackageURL .from_string (purl_str )
@@ -351,15 +352,16 @@ def process_request(purl_str, **kwargs):
351
352
has_version = bool (package_url .version )
352
353
if has_version :
353
354
error = map_debian_metadata_binary_and_source (
354
- package_url = package_url ,
355
+ package_url = package_url ,
355
356
source_package_url = source_package_url ,
356
357
pipelines = pipelines ,
358
+ priority = priority ,
357
359
)
358
360
359
361
return error
360
362
361
363
362
- def map_debian_package (debian_package , package_content , pipelines ):
364
+ def map_debian_package (debian_package , package_content , pipelines , priority = 0 ):
363
365
"""
364
366
Add a debian `package_url` to the PackageDB.
365
367
@@ -372,7 +374,7 @@ def map_debian_package(debian_package, package_content, pipelines):
372
374
error = ''
373
375
374
376
purl = debian_package .package_url
375
- if package_content == PackageContentType .BINARY :
377
+ if package_content == PackageContentType .BINARY :
376
378
download_url = debian_package .binary_archive_url
377
379
elif package_content == PackageContentType .SOURCE_ARCHIVE :
378
380
download_url = debian_package .source_archive_url
@@ -427,7 +429,7 @@ def map_debian_package(debian_package, package_content, pipelines):
427
429
428
430
# Submit package for scanning
429
431
if db_package :
430
- add_package_to_scan_queue (db_package , pipelines )
432
+ add_package_to_scan_queue (db_package , pipelines , priority )
431
433
432
434
return db_package , error
433
435
@@ -507,13 +509,13 @@ def update_license_copyright_fields(package_from, package_to, replace=True):
507
509
setattr (package_to , field , value )
508
510
509
511
510
- def map_debian_metadata_binary_and_source (package_url , source_package_url , pipelines ):
512
+ def map_debian_metadata_binary_and_source (package_url , source_package_url , pipelines , priority = 0 ):
511
513
"""
512
514
Get metadata for the binary and source release of the Debian package
513
515
`package_url` and save it to the PackageDB.
514
516
515
517
Return an error string for errors that occur, or empty string if there is no error.
516
- """
518
+ """
517
519
error = ''
518
520
519
521
if "repository_url" in package_url .qualifiers :
@@ -522,7 +524,7 @@ def map_debian_metadata_binary_and_source(package_url, source_package_url, pipel
522
524
base_url = UBUNTU_BASE_URL
523
525
else :
524
526
base_url = DEBIAN_BASE_URL
525
-
527
+
526
528
if "api_data_url" in package_url .qualifiers :
527
529
metadata_base_url = package_url .qualifiers ["api_data_url" ]
528
530
elif package_url .namespace == 'ubuntu' :
@@ -544,6 +546,7 @@ def map_debian_metadata_binary_and_source(package_url, source_package_url, pipel
544
546
debian_package ,
545
547
PackageContentType .BINARY ,
546
548
pipelines ,
549
+ priority ,
547
550
)
548
551
if emsg :
549
552
error += emsg
@@ -552,7 +555,8 @@ def map_debian_metadata_binary_and_source(package_url, source_package_url, pipel
552
555
source_package , emsg = map_debian_package (
553
556
debian_package ,
554
557
PackageContentType .SOURCE_ARCHIVE ,
555
- pipelines ,
558
+ pipelines ,
559
+ priority ,
556
560
)
557
561
if emsg :
558
562
error += emsg
@@ -594,7 +598,7 @@ def from_purls(cls, package_urls):
594
598
def package_archive_version (self ):
595
599
"""
596
600
Get the useful part of the debian package version used in
597
- source, binary, metadata and copyright URLs optionally.
601
+ source, binary, metadata and copyright URLs optionally.
598
602
"""
599
603
debvers = DebVersion .from_string (self .package_url .version )
600
604
if debvers .revision != "0" :
@@ -679,7 +683,7 @@ def package_copyright_url(self):
679
683
copyright_file_string = "_copyright"
680
684
if self .package_url .namespace == "ubuntu" :
681
685
copyright_file_string = "/copyright"
682
-
686
+
683
687
metadata_version = self .package_archive_version
684
688
if not self .source_package_url :
685
689
metadata_package_name = self .package_url .name
0 commit comments