From a0d43a5afd29dac56d19ad558e3deb5a848ae6d9 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Mon, 7 Apr 2025 19:33:55 +0200 Subject: [PATCH] check-metadata-summary-whitespace.py: Code Quality JSON output --- tools/check-metadata-summary-whitespace.py | 31 +++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/tools/check-metadata-summary-whitespace.py b/tools/check-metadata-summary-whitespace.py index 28eab4ebd1..82d49d5ba7 100755 --- a/tools/check-metadata-summary-whitespace.py +++ b/tools/check-metadata-summary-whitespace.py @@ -1,12 +1,35 @@ #!/usr/bin/env python3 import glob +import hashlib +import json import os +import subprocess + +CHECK_NAME = os.path.basename(__file__) +CODEQUALITY_REPORT = list() + + +def append(myfile): + m = hashlib.sha256() + with open(myfile, 'rb') as myfp: + m.update(myfp.read()) + fingerprint = m.hexdigest() + CODEQUALITY_REPORT.append( + { + "description": "metadata .txt file has incorrect whitespace", + "check_name": CHECK_NAME, + "fingerprint": CHECK_NAME + myfile + fingerprint, + "severity": "minor", + "location": {"path": myfile, "lines": {"begin": 0}}, + } + ) + os.chdir(os.path.join(os.path.dirname(__file__), '..')) - for f in glob.glob('metadata/*/*/*.txt') + glob.glob('metadata/*/*/*/*.txt'): if os.path.getsize(f) == 0: + append(f) os.remove(f) continue @@ -15,3 +38,9 @@ for f in glob.glob('metadata/*/*/*.txt') + glob.glob('metadata/*/*/*/*.txt'): with open(f, 'w') as fp: fp.write(data.strip().rstrip()) fp.write('\n') + +for f in subprocess.check_output(['git', 'diff', '--name-only']).split(): + append(f.decode()) + +with open(f"{CHECK_NAME}.json", "w") as fp: + json.dump(CODEQUALITY_REPORT, fp)