33# VulnerableCode is a trademark of nexB Inc.
44# SPDX-License-Identifier: Apache-2.0
55# See http://www.apache.org/licenses/LICENSE-2.0 for the license text.
6- # See https://github.com/nexB /vulnerablecode for support or download.
6+ # See https://github.com/aboutcode-org /vulnerablecode for support or download.
77# See https://aboutcode.org for more information about nexB OSS projects.
88#
9+
910import logging
1011from datetime import datetime
1112from datetime import timezone
1415
1516from django .db import transaction
1617
17- from vulnerabilities import import_runner
1818from vulnerabilities .importer import AdvisoryData
1919from vulnerabilities .improver import MAX_CONFIDENCE
20- from vulnerabilities .improvers import default
2120from vulnerabilities .models import Advisory
2221from vulnerabilities .models import Package
2322from vulnerabilities .models import PackageRelatedVulnerability
@@ -55,18 +54,21 @@ def insert_advisory(advisory: AdvisoryData, pipeline_name: str, logger: Callable
5554def import_advisory (
5655 advisory : Advisory ,
5756 pipeline_name : str ,
58- logger : Callable ,
5957 confidence : int = MAX_CONFIDENCE ,
58+ logger : Callable = None ,
6059):
6160 """
6261 Create initial Vulnerability Package relationships for the advisory,
6362 including references and severity scores.
6463
6564 Package relationships are established only for resolved (concrete) versions.
6665 """
66+ from vulnerabilities import import_runner
67+ from vulnerabilities .improvers import default
6768
6869 advisory_data : AdvisoryData = advisory .to_advisory_data ()
69- logger (f"Importing advisory id: { advisory .id } " , level = logging .DEBUG )
70+ if logger :
71+ logger (f"Importing advisory id: { advisory .id } " , level = logging .DEBUG )
7072
7173 affected_purls = []
7274 fixed_purls = []
@@ -85,7 +87,8 @@ def import_advisory(
8587 )
8688
8789 if not vulnerability :
88- logger (f"Unable to get vulnerability for advisory: { advisory !r} " , level = logging .WARNING )
90+ if logger :
91+ logger (f"Unable to get vulnerability for advisory: { advisory !r} " , level = logging .WARNING )
8992 return
9093
9194 for ref in advisory_data .references :
@@ -118,16 +121,18 @@ def import_advisory(
118121 },
119122 )
120123 except :
121- logger (
122- f"Failed to create VulnerabilitySeverity for: { severity } with error:\n { traceback_format_exc ()} " ,
123- level = logging .ERROR ,
124- )
124+ if logger :
125+ logger (
126+ f"Failed to create VulnerabilitySeverity for: { severity } with error:\n { traceback_format_exc ()} " ,
127+ level = logging .ERROR ,
128+ )
125129 if not created :
126- logger (
127- f"Severity updated for reference { ref !r} to value: { severity .value !r} "
128- f"and scoring_elements: { severity .scoring_elements !r} " ,
129- level = logging .DEBUG ,
130- )
130+ if logger :
131+ logger (
132+ f"Severity updated for reference { ref !r} to value: { severity .value !r} "
133+ f"and scoring_elements: { severity .scoring_elements !r} " ,
134+ level = logging .DEBUG ,
135+ )
131136
132137 for affected_purl in affected_purls or []:
133138 vulnerable_package , _ = Package .objects .get_or_create_from_purl (purl = affected_purl )
0 commit comments