Skip to content

Commit c6a8ac5

Browse files
committed
cosmetic changes to pipeline
Signed-off-by: 404-geek <[email protected]>
1 parent 8e7fd43 commit c6a8ac5

File tree

3 files changed

+21
-30
lines changed

3 files changed

+21
-30
lines changed

scanpipe/models.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4408,7 +4408,7 @@ class DiscoveredPackageScore(UUIDPKModel, PackageScoreMixin):
44084408

44094409
discovered_package = models.ForeignKey(
44104410
DiscoveredPackage,
4411-
related_name="discovered_packages_score",
4411+
related_name="scores",
44124412
help_text=_("The package for which the score is given"),
44134413
on_delete=models.CASCADE,
44144414
editable=False,
@@ -4449,7 +4449,6 @@ def parse_score_date(cls, date_str, formats=None):
44494449
return None
44504450

44514451
@classmethod
4452-
@transaction.atomic()
44534452
def create_from_scorecard_data(
44544453
cls, discovered_package, scorecard_data, scoring_tool=None
44554454
):
@@ -4490,9 +4489,9 @@ class ScorecardCheck(UUIDPKModel, ScorecardChecksMixin):
44904489
DiscoveredPackageScore.
44914490
"""
44924491

4493-
for_package_score = models.ForeignKey(
4492+
package_score = models.ForeignKey(
44944493
DiscoveredPackageScore,
4495-
related_name="discovered_packages_score_checks",
4494+
related_name="checks",
44964495
help_text=_("The checks for which the score is given"),
44974496
on_delete=models.CASCADE,
44984497
editable=False,

scanpipe/pipelines/fetch_scorecode_info.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929

3030
class FetchScoreCodeInfo(Pipeline):
3131
"""
32-
Fetch ScoreCode information for packages and dependencies.
32+
Fetch ScoreCode information for packages.
3333

3434
This pipeline retrieves ScoreCode data for each package in the project
3535
and stores it in the corresponding package instances.
@@ -41,21 +41,19 @@ class FetchScoreCodeInfo(Pipeline):
4141
@classmethod
4242
def steps(cls):
4343
return (
44-
cls.check_ScoreCode_service_availability,
45-
cls.fetch_packages_ScoreCode_info,
44+
cls.check_scoreCode_service_availability,
45+
cls.fetch_packages_scoreCode_info,
4646
)
4747

48-
def check_ScoreCode_service_availability(self):
48+
def check_scoreCode_service_availability(self):
4949
"""Check if the ScoreCode service is configured and available."""
5050
if not ossf_scorecard.is_available():
5151
raise Exception("ScoreCode service is not available.")
5252

53-
def fetch_packages_ScoreCode_info(self):
53+
def fetch_packages_scoreCode_info(self):
5454
"""Fetch ScoreCode information for each of the project's discovered packages."""
5555
for package in self.project.discoveredpackages.all():
56-
scorecard_data = ossf_scorecard.fetch_scorecard_info(
57-
package=package, logger=None
58-
)
56+
scorecard_data = ossf_scorecard.fetch_scorecard_info(package=package)
5957

6058
if scorecard_data:
6159
DiscoveredPackageScore.create_from_package_and_scorecard(

scanpipe/tests/regen_test_data.py

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
from scanpipe.pipes import input
3434
from scanpipe.pipes import output
3535
from scanpipe.pipes import scancode
36+
from scorecode.ossf_scorecard import fetch_scorecard
3637

3738

3839
class RegenTestData(TestCase):
@@ -154,29 +155,22 @@ def test_regen_asgiref_test_files(self):
154155

155156
def test_regenerate_scorecard_data(self):
156157
"""
157-
Regenerate and save scorecard data by directly calling the OSSF Scorecard
158-
API
158+
Regenerate and save scorecard data by calling the OSSF Scorecard API.
159159
"""
160160
scorecard_data_file = self.data / "scorecode" / "scorecard_response.json"
161161
platform, org, repo = "github.com", "nexB", "scancode-toolkit"
162162

163-
OSSF_SCORECARD_API_URL = "https://api.securityscorecards.dev"
164-
165-
url = f"{OSSF_SCORECARD_API_URL}/projects/{platform}/{org}/{repo}"
166-
167163
try:
168-
# Fetch the scorecard data from the API
169-
response = requests.get(url, timeout=10)
170-
response.raise_for_status()
171-
scorecard_data = response.json()
172-
173-
scorecard_data_file.parent.mkdir(parents=True, exist_ok=True)
174-
175-
scorecard_data_file.write_text(json.dumps(scorecard_data, indent=2))
176-
177-
print(f"Scorecard data successfully saved to {scorecard_data_file}")
178-
164+
scorecard_data = fetch_scorecard(platform, org, repo)
179165
except requests.exceptions.Timeout:
180-
print("The request timed out.")
166+
print("The request to the OSSF Scorecard API timed out.")
167+
return
181168
except requests.exceptions.RequestException as e:
182169
print(f"Error fetching scorecard data: {e}")
170+
return
171+
172+
scorecard_data_file.parent.mkdir(parents=True, exist_ok=True)
173+
scorecard_data_file.write_text(
174+
json.dumps(scorecard_data.to_dict(), indent=2)
175+
)
176+
print(f"Scorecard data successfully saved to {scorecard_data_file}")

0 commit comments

Comments
 (0)