From 4cd6649a44c7d7861f6b4dccfd7a2bcf84afba1b Mon Sep 17 00:00:00 2001 From: mrT23 Date: Thu, 7 Dec 2023 10:14:18 +0200 Subject: [PATCH] feat: Enhance PR description formatting in pr_description.py Improve the table structure for relevant files in PR description by adjusting the header and filename display. Add padding for filename and change summary, and move diff_plus_minus to a separate column. Refactor _insert_br_after_x_chars function to accept a variable length parameter. --- pr_agent/tools/pr_description.py | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/pr_agent/tools/pr_description.py b/pr_agent/tools/pr_description.py index 2f0466c6..88f5b69c 100644 --- a/pr_agent/tools/pr_description.py +++ b/pr_agent/tools/pr_description.py @@ -317,9 +317,11 @@ class PRDescription: return pr_body try: - pr_body = "" pr_body += "" - pr_body += """""" + header = f"Relevant Files" + delta = 65 + header +="  " * delta + pr_body += f"""""" pr_body += """""" for semantic_label in value.keys(): s_label = semantic_label.strip("'").strip('"') @@ -330,13 +332,15 @@ class PRDescription: filename = filename.replace("'", "`") filename_publish = filename.split("/")[-1] filename_publish = f"{filename_publish}" + if len(filename_publish)< (delta-5): + filename_publish += "  " * ((delta-5) - len(filename_publish)) diff_plus_minus = "" diff_files = self.git_provider.diff_files for f in diff_files: if f.filename.lower() == filename.lower(): num_plus_lines = f.num_plus_lines num_minus_lines = f.num_minus_lines - diff_plus_minus += f" ( +{num_plus_lines}/-{num_minus_lines} )" + diff_plus_minus += f" (+{num_plus_lines}/-{num_minus_lines})" break # try to add line numbers link to code suggestions @@ -345,24 +349,24 @@ class PRDescription: filename = filename.strip() link = self.git_provider.get_line_link(filename, relevant_line_start=-1) - file_change_description = self._insert_br_after_x_chars(file_change_description) + file_change_description = self._insert_br_after_x_chars(file_change_description, x=(delta-5)) pr_body += f""" + + """ pr_body += """
Relevant Files
{header}
- {filename_publish} {diff_plus_minus} + {filename_publish}
    - Changes summary:
    + ({filename})

    {file_change_description}
{diff_plus_minus}
""" pr_body += """""" - print(pr_body) - # pr_body += """\n| | Relevant Files """ # pr_body += "  " * 70 @@ -411,11 +415,10 @@ class PRDescription: pass return pr_body - def _insert_br_after_x_chars(self, text): + def _insert_br_after_x_chars(self, text, x=70): """ Insert
into a string after a word that increases its length above x characters. """ - x = 70 if len(text) < x: return text