diff --git a/CHANGELOG.rst b/CHANGELOG.rst index c9dab87d..4b3a78ba 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,15 @@ Change log ========== +0.19.22 (2024-12-18) +-------------------- + +Bug fixes +~~~~~~~~~ + +* **report:** adjust for relative uri path and support Klint + + 0.19.21 (2024-11-11) -------------------- diff --git a/tests/test_code_report.py b/tests/test_code_report.py index 34f1a8e0..cc76cb67 100644 --- a/tests/test_code_report.py +++ b/tests/test_code_report.py @@ -161,7 +161,7 @@ def finalize(self) -> str: ], "originalUriBaseIds": { "ROOTPATH": { - "uri": "my_path" + "uri": "file:///my_path" } } } diff --git a/universum/__init__.py b/universum/__init__.py index dd97cba4..6a635f43 100644 --- a/universum/__init__.py +++ b/universum/__init__.py @@ -1,2 +1,2 @@ __title__ = "Universum" -__version__ = "0.19.21" +__version__ = "0.19.22" diff --git a/universum/modules/code_report_collector.py b/universum/modules/code_report_collector.py index e2ebd49f..35cefba7 100644 --- a/universum/modules/code_report_collector.py +++ b/universum/modules/code_report_collector.py @@ -68,14 +68,15 @@ def _process_one_sarif_issue(self, issue, root_uri_base_paths, who) -> None: uri = artifact_data.get('uri') if not uri: raise ValueError("Unexpected lack of uri tag") - path = urllib.parse.unquote(urllib.parse.urlparse(uri).path) if artifact_data.get('uriBaseId'): # means path is relative, need to make absolute uri_base_id = artifact_data.get('uriBaseId', '') - root_base_path = root_uri_base_paths.get(uri_base_id, '') - if uri_base_id and not root_base_path: + base_uri = root_uri_base_paths.get(uri_base_id, '') + if uri_base_id and not base_uri: raise ValueError(f"Unexpected lack of 'originalUriBaseIds' value for {uri_base_id}") - path = str(Path(root_base_path) / path) + else: + base_uri = '' + path = str(Path(urllib.parse.urlparse(urllib.parse.urljoin(base_uri, uri)).path)) region_data = location_data.get('region') if not region_data: continue # TODO: cover this case as comment to the file as a whole