mirror of
https://github.com/Aider-AI/aider.git
synced 2025-05-20 12:24:59 +00:00
fix: Skip processing open issues that have been closed and re-opened
This commit is contained in:
parent
86faaa65ff
commit
8422441f74
1 changed files with 10 additions and 3 deletions
|
@ -9,6 +9,13 @@ import requests
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
from tqdm import tqdm
|
from tqdm import tqdm
|
||||||
|
|
||||||
|
def has_been_reopened(issue_number):
|
||||||
|
timeline_url = f"{GITHUB_API_URL}/repos/{REPO_OWNER}/{REPO_NAME}/issues/{issue_number}/timeline"
|
||||||
|
response = requests.get(timeline_url, headers=headers)
|
||||||
|
response.raise_for_status()
|
||||||
|
events = response.json()
|
||||||
|
return any(event['event'] == 'reopened' for event in events if 'event' in event)
|
||||||
|
|
||||||
# Load environment variables from .env file
|
# Load environment variables from .env file
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
|
|
||||||
|
@ -63,7 +70,7 @@ def group_issues_by_subject(issues):
|
||||||
grouped_issues = defaultdict(list)
|
grouped_issues = defaultdict(list)
|
||||||
pattern = r"Uncaught .+ in .+ line \d+"
|
pattern = r"Uncaught .+ in .+ line \d+"
|
||||||
for issue in issues:
|
for issue in issues:
|
||||||
if re.search(pattern, issue["title"]):
|
if re.search(pattern, issue["title"]) and not has_been_reopened(issue["number"]):
|
||||||
subject = issue["title"]
|
subject = issue["title"]
|
||||||
grouped_issues[subject].append(issue)
|
grouped_issues[subject].append(issue)
|
||||||
return grouped_issues
|
return grouped_issues
|
||||||
|
@ -74,7 +81,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"] == subject:
|
if issue["title"] == subject and not has_been_reopened(issue["number"]):
|
||||||
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
|
||||||
|
@ -111,7 +118,7 @@ def main():
|
||||||
open_issues = [issue for issue in all_issues if issue["state"] == "open"]
|
open_issues = [issue for issue in all_issues if issue["state"] == "open"]
|
||||||
grouped_open_issues = group_issues_by_subject(open_issues)
|
grouped_open_issues = group_issues_by_subject(open_issues)
|
||||||
|
|
||||||
print("Analyzing issues...")
|
print("Analyzing issues (skipping reopened issues)...")
|
||||||
for subject, issues in grouped_open_issues.items():
|
for subject, issues in grouped_open_issues.items():
|
||||||
oldest_issue = find_oldest_issue(subject, all_issues)
|
oldest_issue = find_oldest_issue(subject, all_issues)
|
||||||
if not oldest_issue:
|
if not oldest_issue:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue