mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-24 14:25:00 +00:00
style: Run linter on Python script
This commit is contained in:
parent
1ede98bc07
commit
6b9fc86e99
1 changed files with 19 additions and 14 deletions
|
@ -1,7 +1,8 @@
|
||||||
import os
|
import os
|
||||||
import requests
|
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
|
import requests
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
# Load environment variables from .env file
|
# Load environment variables from .env file
|
||||||
|
@ -13,10 +14,8 @@ REPO_OWNER = os.getenv("GITHUB_REPO_OWNER")
|
||||||
REPO_NAME = os.getenv("GITHUB_REPO_NAME")
|
REPO_NAME = os.getenv("GITHUB_REPO_NAME")
|
||||||
TOKEN = os.getenv("GITHUB_TOKEN")
|
TOKEN = os.getenv("GITHUB_TOKEN")
|
||||||
|
|
||||||
headers = {
|
headers = {"Authorization": f"token {TOKEN}", "Accept": "application/vnd.github.v3+json"}
|
||||||
"Authorization": f"token {TOKEN}",
|
|
||||||
"Accept": "application/vnd.github.v3+json"
|
|
||||||
}
|
|
||||||
|
|
||||||
def get_issues(state="open"):
|
def get_issues(state="open"):
|
||||||
issues = []
|
issues = []
|
||||||
|
@ -25,7 +24,7 @@ def get_issues(state="open"):
|
||||||
response = requests.get(
|
response = requests.get(
|
||||||
f"{GITHUB_API_URL}/repos/{REPO_OWNER}/{REPO_NAME}/issues",
|
f"{GITHUB_API_URL}/repos/{REPO_OWNER}/{REPO_NAME}/issues",
|
||||||
headers=headers,
|
headers=headers,
|
||||||
params={"state": state, "page": page, "per_page": 100}
|
params={"state": state, "page": page, "per_page": 100},
|
||||||
)
|
)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
page_issues = response.json()
|
page_issues = response.json()
|
||||||
|
@ -35,27 +34,30 @@ def get_issues(state="open"):
|
||||||
page += 1
|
page += 1
|
||||||
return issues
|
return issues
|
||||||
|
|
||||||
|
|
||||||
def group_issues_by_subject(issues):
|
def group_issues_by_subject(issues):
|
||||||
grouped_issues = defaultdict(list)
|
grouped_issues = defaultdict(list)
|
||||||
for issue in issues:
|
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)
|
grouped_issues[subject].append(issue)
|
||||||
return grouped_issues
|
return grouped_issues
|
||||||
|
|
||||||
|
|
||||||
def find_oldest_issue(subject):
|
def find_oldest_issue(subject):
|
||||||
all_issues = get_issues("all")
|
all_issues = get_issues("all")
|
||||||
oldest_issue = None
|
oldest_issue = None
|
||||||
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"].split(":")[0].strip() == 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
|
||||||
oldest_issue = issue
|
oldest_issue = issue
|
||||||
|
|
||||||
return oldest_issue
|
return oldest_issue
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
if not all([REPO_OWNER, REPO_NAME, TOKEN]):
|
if not all([REPO_OWNER, REPO_NAME, TOKEN]):
|
||||||
print("Error: Missing environment variables. Please check your .env file.")
|
print("Error: Missing environment variables. Please check your .env file.")
|
||||||
|
@ -63,18 +65,21 @@ def main():
|
||||||
|
|
||||||
open_issues = get_issues()
|
open_issues = get_issues()
|
||||||
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():
|
||||||
print(f"\nSubject: {subject}")
|
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']}: {issue['title']}")
|
||||||
|
|
||||||
oldest_issue = find_oldest_issue(subject)
|
oldest_issue = find_oldest_issue(subject)
|
||||||
if oldest_issue:
|
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:
|
else:
|
||||||
print("No oldest issue found")
|
print("No oldest issue found")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue