feat: Add filter to only print issues matching "Uncaught xxx in xxx line ###" pattern

This commit is contained in:
Paul Gauthier (aider) 2024-09-20 11:20:39 -07:00
parent 86dc25d342
commit 619127925d

View file

@ -37,11 +37,15 @@ def get_issues(state="open"):
return issues return issues
import re
def group_issues_by_subject(issues): def group_issues_by_subject(issues):
grouped_issues = defaultdict(list) grouped_issues = defaultdict(list)
pattern = r"Uncaught .+ in .+ line \d+"
for issue in issues: for issue in issues:
subject = issue["title"].split(":")[0].strip() # Assuming subject is before the first colon if re.search(pattern, issue["title"]):
grouped_issues[subject].append(issue) subject = issue["title"]
grouped_issues[subject].append(issue)
return grouped_issues return grouped_issues
@ -50,7 +54,7 @@ def find_oldest_issue(subject, all_issues):
oldest_date = datetime.now() oldest_date = datetime.now()
for issue in all_issues: for issue in all_issues:
if issue["title"].split(":")[0].strip() == subject: if issue["title"] == subject:
created_at = datetime.strptime(issue["created_at"], "%Y-%m-%dT%H:%M:%SZ") created_at = datetime.strptime(issue["created_at"], "%Y-%m-%dT%H:%M:%SZ")
if created_at < oldest_date: if created_at < oldest_date:
oldest_date = created_at oldest_date = created_at
@ -69,13 +73,10 @@ def main():
grouped_open_issues = group_issues_by_subject(open_issues) grouped_open_issues = group_issues_by_subject(open_issues)
for subject, issues in grouped_open_issues.items(): for subject, issues in grouped_open_issues.items():
if len(issues) <= 1: print(f"\nIssue: {subject}")
continue
print(f"\nSubject: {subject}")
print(f"Open issues: {len(issues)}") print(f"Open issues: {len(issues)}")
for issue in issues: for issue in issues:
print(f" - #{issue['number']}: {issue['title']}") print(f" - #{issue['number']}")
oldest_issue = find_oldest_issue(subject, all_issues) oldest_issue = find_oldest_issue(subject, all_issues)
if oldest_issue: if oldest_issue: