Skip to content

Commit 60e258f

Browse files
committed
fix: remove repo_url and replace strptime with dateparser in grafana importer
- Removed repo_url class attribute (not part of the base class contract) - Replaced datetime.strptime + timezone.utc with dateparser.parse() for consistency with the ZDI importer and flexibility with date formats - Removed unused datetime and timezone stdlib imports
1 parent aa58447 commit 60e258f

File tree

1 file changed

+4
-9
lines changed

1 file changed

+4
-9
lines changed

vulnerabilities/pipelines/v2_importers/grafana_importer.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,9 @@
1010
import json
1111
import logging
1212
import re
13-
from datetime import datetime
14-
from datetime import timezone
1513
from typing import Iterable
1614

15+
import dateparser
1716
from packageurl import PackageURL
1817
from univers.version_range import build_range_from_github_advisory_constraint
1918

@@ -52,7 +51,6 @@ class GrafanaImporterPipeline(VulnerableCodeBaseImporterPipelineV2):
5251
pipeline_id = "grafana_importer"
5352
spdx_license_expression = "Apache-2.0"
5453
license_url = "https://github.com/grafana/grafana/blob/main/LICENSE"
55-
repo_url = "https://github.com/grafana/grafana"
5654
precedence = 200
5755

5856
@classmethod
@@ -145,12 +143,9 @@ def parse_advisory_data(advisory: dict, purl_type: str, purl_namespace: str):
145143

146144
date_published = None
147145
if published_at:
148-
try:
149-
date_published = datetime.strptime(published_at, "%Y-%m-%dT%H:%M:%SZ").replace(
150-
tzinfo=timezone.utc
151-
)
152-
except ValueError:
153-
logger.error("Cannot parse date %r for %s", published_at, ghsa_id)
146+
date_published = dateparser.parse(published_at)
147+
if date_published is None:
148+
logger.warning("Could not parse date %r for advisory %s", published_at, ghsa_id)
154149

155150
cvss_v3 = (advisory.get("cvss_severities") or {}).get("cvss_v3") or {}
156151
cvss_vector = cvss_v3.get("vector_string") or ""

0 commit comments

Comments
 (0)