From 6b9fc86e9947d6f5d70b798663a71ffb364fa578 Mon Sep 17 00:00:00 2001 From: "Paul Gauthier (aider)" Date: Fri, 20 Sep 2024 11:09:48 -0700 Subject: [PATCH] style: Run linter on Python script --- scripts/issues.py | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/scripts/issues.py b/scripts/issues.py index 1d00bb747..4b7750d81 100644 --- a/scripts/issues.py +++ b/scripts/issues.py @@ -1,7 +1,8 @@ import os -import requests from collections import defaultdict from datetime import datetime + +import requests from dotenv import load_dotenv # Load environment variables from .env file @@ -13,10 +14,8 @@ REPO_OWNER = os.getenv("GITHUB_REPO_OWNER") REPO_NAME = os.getenv("GITHUB_REPO_NAME") TOKEN = os.getenv("GITHUB_TOKEN") -headers = { - "Authorization": f"token {TOKEN}", - "Accept": "application/vnd.github.v3+json" -} +headers = {"Authorization": f"token {TOKEN}", "Accept": "application/vnd.github.v3+json"} + def get_issues(state="open"): issues = [] @@ -25,7 +24,7 @@ def get_issues(state="open"): response = requests.get( f"{GITHUB_API_URL}/repos/{REPO_OWNER}/{REPO_NAME}/issues", headers=headers, - params={"state": state, "page": page, "per_page": 100} + params={"state": state, "page": page, "per_page": 100}, ) response.raise_for_status() page_issues = response.json() @@ -35,27 +34,30 @@ def get_issues(state="open"): page += 1 return issues + def group_issues_by_subject(issues): grouped_issues = defaultdict(list) for issue in issues: - subject = issue['title'].split(':')[0].strip() # Assuming subject is before the first colon + subject = issue["title"].split(":")[0].strip() # Assuming subject is before the first colon grouped_issues[subject].append(issue) return grouped_issues + def find_oldest_issue(subject): all_issues = get_issues("all") oldest_issue = None oldest_date = datetime.now() - + for issue in all_issues: - if issue['title'].split(':')[0].strip() == subject: - created_at = datetime.strptime(issue['created_at'], "%Y-%m-%dT%H:%M:%SZ") + if issue["title"].split(":")[0].strip() == subject: + created_at = datetime.strptime(issue["created_at"], "%Y-%m-%dT%H:%M:%SZ") if created_at < oldest_date: oldest_date = created_at oldest_issue = issue - + return oldest_issue + def main(): if not all([REPO_OWNER, REPO_NAME, TOKEN]): print("Error: Missing environment variables. Please check your .env file.") @@ -63,18 +65,21 @@ def main(): open_issues = get_issues() grouped_open_issues = group_issues_by_subject(open_issues) - + for subject, issues in grouped_open_issues.items(): print(f"\nSubject: {subject}") print(f"Open issues: {len(issues)}") for issue in issues: print(f" - #{issue['number']}: {issue['title']}") - + oldest_issue = find_oldest_issue(subject) if oldest_issue: - print(f"Oldest issue: #{oldest_issue['number']} (created on {oldest_issue['created_at']})") + print( + f"Oldest issue: #{oldest_issue['number']} (created on {oldest_issue['created_at']})" + ) else: print("No oldest issue found") + if __name__ == "__main__": main()