fix: display no TODO comments section

This commit is contained in:
Judy
2025-06-10 22:56:28 +09:00
parent b0711929c3
commit ca05b798ca
2 changed files with 13 additions and 6 deletions

View File

@ -278,16 +278,17 @@ def convert_to_markdown_v2(output_data: dict,
markdown_text += f"- {format_todo_item(value)}\n"
return markdown_text
markdown_todo_items = format_todo_items(value)
EXPAND_LINE_THRESHOLD = 10
details_open_attr = " open" if markdown_todo_items.count("\n") + 1 <= EXPAND_LINE_THRESHOLD else ""
todo_entry_label = f"{len(value)} " + "entries" if len(value) > 1 else "entry"
if gfm_supported:
markdown_text += "<tr><td>"
if is_value_no(value):
markdown_text += f"{emoji}&nbsp;<strong>No TODO sections</strong>"
else:
markdown_todo_items = format_todo_items(value)
EXPAND_LINE_THRESHOLD = 10
details_open_attr = " open" if markdown_todo_items.count("\n") + 1 <= EXPAND_LINE_THRESHOLD else ""
todo_entry_label = f"{len(value)} " + "entries" if len(value) > 1 else "entry"
markdown_text += f"{emoji}&nbsp;<strong>TODO sections ({todo_entry_label})</strong>\n"
markdown_text += f"<details{details_open_attr}><summary>{todo_summary}</summary>\n\n"
markdown_text += markdown_todo_items
@ -297,6 +298,12 @@ def convert_to_markdown_v2(output_data: dict,
if is_value_no(value):
markdown_text += f"### {emoji} No TODO sections\n\n"
else:
markdown_todo_items = format_todo_items(value)
EXPAND_LINE_THRESHOLD = 10
details_open_attr = " open" if markdown_todo_items.count("\n") + 1 <= EXPAND_LINE_THRESHOLD else ""
todo_entry_label = f"{len(value)} " + "entries" if len(value) > 1 else "entry"
markdown_text += f"### {emoji} TODO sections ({todo_entry_label})\n<details{details_open_attr}><summary>{todo_summary}</summary>\n\n"
markdown_text += markdown_todo_items
markdown_text += "\n</details>\n\n"

View File

@ -108,7 +108,7 @@ class Review(BaseModel):
security_concerns: str = Field(description="Does this PR code introduce possible vulnerabilities such as exposure of sensitive information (e.g., API keys, secrets, passwords), or security concerns like SQL injection, XSS, CSRF, and others ? Answer 'No' (without explaining why) if there are no possible issues. If there are security concerns or issues, start your answer with a short header, such as: 'Sensitive information exposure: ...', 'SQL injection: ...' etc. Explain your answer. Be specific and give examples if possible")
{%- endif %}
{%- if require_todo_scan %}
todo_sections: Union[List[TodoSection], str] = Field(description="A list of TODO comments found in the code. Return 'No' (as a string) if there are no TODO comments.")
todo_sections: Union[List[TodoSection], str] = Field(description="A list of TODO comments found in the code. Return 'No' (as a string) if there are no TODO comments or the list would be empty.")
todo_summary: str = Field(description="Summarize the functional areas of the TODO comments found in the code.
- Focus on describing the *functional areas* of the TODOs, such as:
testing, error handling, validation, documentation, performance,