import json class GenerateLinter: def __init__(self, json_file="ruff-report.json", output_file="lint-result.json"): """ 初期化 """ self.json_file = json_file self.output_file = output_file def _genarate_lint_report(self, data: list) -> str: _str = "" if not data: _str += "## Linter(リンタ)指摘事項なし\n\n" _str += "素晴らしいコードです!🎉\n" return _str _str += "## Linter(リンタ)レビュー\n\n" _str += "以下の指摘事項があります。コードを見直してください。\n\n" _str += "### 指摘事項一覧\n" _str += "|コード|重要性|ファイル名|行数|課題内容\n" _str += "|---|---|---|---|---|\n" for issue in data: code = issue.get("code", "-") severity = issue.get("severity", "-") filename = issue.get("filename", "-") line = issue.get("location", {}).get("line", "-") message = issue.get("message", "-") _str += f"|{code}|{severity}|{filename}|{line}|{message}|\n" return _str def generate_lint_report_json(self): with open(self.json_file, "r") as f: data = json.load(f) with open(self.output_file, "w") as f: report = {"body": self._genarate_lint_report(data)} json.dump(report, f, ensure_ascii=False, indent=4) print(f"Linter report generated: {self.output_file}") if __name__ == "__main__": generator = GenerateLinter() generator.generate_lint_report_json()