From db8d9696087d8237eed1d2703d582b202d667d54 Mon Sep 17 00:00:00 2001 From: Henrik Sandklef Date: Sun, 8 Feb 2026 17:49:41 +0100 Subject: [PATCH 1/3] Update header in text output of matched text --- scarfer/format/format_text.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scarfer/format/format_text.py b/scarfer/format/format_text.py index 94f82b8..468d264 100644 --- a/scarfer/format/format_text.py +++ b/scarfer/format/format_text.py @@ -26,7 +26,8 @@ def _format_file(self, f, settings): ret.append(" * {c}".format(c=cr)) if matches: for m in f['license']['matches']: - ret.append("--- {match} --- ".format(match=m['key'])) + ret.append("--- Matched license: {match} --- ".format(match=m['key'])) + ret.append("--- Matched text: ---") ret.append("{text}".format(text=m['text'])) return "\n".join(ret) @@ -39,7 +40,6 @@ def _format_files(self, report, settings): def format(self, report, settings): results = [ - "Files:\n----------------------------", self._format_files(report, settings), ] return "\n".join(results) @@ -68,7 +68,7 @@ def format_license_summary(self, report, settings={}): if settings.get('simplify'): arbiter = Arbiter() license_summary = arbiter.simplify_license(license_summary)['simplified'] - return f'License:\n {license_summary}\n' # noqa: E231 + return license_summary def format_copyright_summary(self, report, settings={}): copyright_summary = set() From 4a2b14cab37e15b0e02aa20a00dceb500218533f Mon Sep 17 00:00:00 2001 From: Henrik Sandklef Date: Mon, 9 Feb 2026 23:50:44 +0100 Subject: [PATCH 2/3] use diagnistics (matched text) when available --- scarfer/scan_interface.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/scarfer/scan_interface.py b/scarfer/scan_interface.py index 2e24f3a..5b38cc5 100644 --- a/scarfer/scan_interface.py +++ b/scarfer/scan_interface.py @@ -148,12 +148,18 @@ def read(self): matches = [] for le in f[self.licenses_value]: vers = self.scancode_format[:3] - if vers == "3.0" or vers == "3.2" or vers == "4.0" or vers == "4.1": + if vers == "3.0" or vers == "3.2": for match in le['matches']: matches.append({ "key": match['license_expression'], "text": match['matched_text'] }) + if vers == "4.0" or vers == "4.1": + for match in le['matches']: + matches.append({ + "key": match['license_expression'], + "text": match['matched_text_diagnostics'] + }) else: if 'key' in le and 'matched_text' in le: matches.append({ From 8060b9835d9195f5aa0e3e2442bc90394cff1720 Mon Sep 17 00:00:00 2001 From: Henrik Sandklef Date: Sun, 1 Mar 2026 19:17:54 +0100 Subject: [PATCH 3/3] fix lint issues --- scarfer/scan_interface.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scarfer/scan_interface.py b/scarfer/scan_interface.py index 5b38cc5..690c49d 100644 --- a/scarfer/scan_interface.py +++ b/scarfer/scan_interface.py @@ -147,14 +147,14 @@ def read(self): _file['license'] = {} matches = [] for le in f[self.licenses_value]: - vers = self.scancode_format[:3] + vers = self.scancode_format[:3] if vers == "3.0" or vers == "3.2": for match in le['matches']: matches.append({ "key": match['license_expression'], "text": match['matched_text'] }) - if vers == "4.0" or vers == "4.1": + if vers == "4.0" or vers == "4.1": for match in le['matches']: matches.append({ "key": match['license_expression'],