Fix get_user_description

The headers changed from "PR Type"/"PR Description"/etc to "Type"/"Description"/etc
This commit is contained in:
zmeir
2024-01-03 09:56:23 +02:00
parent c31ce3de35
commit 560d30dbb1
2 changed files with 8 additions and 4 deletions

View File

@ -75,14 +75,18 @@ class GitProvider(ABC):
def get_user_description(self) -> str:
description = (self.get_pr_description_full() or "").strip()
# if the existing description wasn't generated by the pr-agent, just return it as-is
if not any(description.startswith(header) for header in ("## PR Type", "## PR Description")):
if not self._is_generated_by_pr_agent(description):
return description
# if the existing description was generated by the pr-agent, but it doesn't contain the user description,
# return nothing (empty string) because it means there is no user description
if "## User Description:" not in description:
if "## User Description" not in description:
return ""
# otherwise, extract the original user description from the existing pr-agent description and return it
return description.split("## User Description:", 1)[1].strip()
return description.split("## User Description", 1)[-1].split("\n", 1)[-1].strip()
def _is_generated_by_pr_agent(self, description: str) -> bool:
possible_headers = ("## PR Type", "## PR Description", "## PR Labels", "## Type", "## Description", "## Labels", "### 🤖 Generated by PR Agent")
return any(description.startswith(header) for header in possible_headers)
@abstractmethod
def get_repo_settings(self):