From 78d2927b4467310f5fd8861441e11cd8cac62f70 Mon Sep 17 00:00:00 2001 From: Jon Michael Aanes Date: Tue, 15 Apr 2025 23:45:15 +0200 Subject: [PATCH] Store link in database --- aider_gitea/__init__.py | 32 ++++++++++---------------- test/test_seen_issues_db_pr_info.py | 4 +++- test/test_solve_issue_in_repository.py | 3 +++ 3 files changed, 18 insertions(+), 21 deletions(-) diff --git a/aider_gitea/__init__.py b/aider_gitea/__init__.py index 5027499..471085b 100644 --- a/aider_gitea/__init__.py +++ b/aider_gitea/__init__.py @@ -212,8 +212,6 @@ def push_changes( gitea_client, owner: str, repo: str, - seen_issues_db=None, - issue_text: str = None, ) -> tuple[bool, str, str]: # Check if there are any commits on the branch before pushing if not has_commits_on_branch(cwd, base_branch, branch_name): @@ -245,20 +243,7 @@ def push_changes( ) # Extract PR number and URL if available - pr_number = None - pr_url = None - if pr_response and isinstance(pr_response, dict): - pr_number = str(pr_response.get('number')) - pr_url = pr_response.get('html_url') - - # Store PR information in the database if available - if seen_issues_db and issue_text and pr_number and pr_url: - seen_issues_db.update_pr_info(issue_text, pr_number, pr_url) - logger.info( - 'Stored PR #%s information for issue #%s', pr_number, issue_number, - ) - - return True, pr_number, pr_url + return True, str(pr_response.get('number')), pr_response.get('html_url') def has_commits_on_branch(cwd: Path, base_branch: str, current_branch: str) -> bool: @@ -311,8 +296,8 @@ def solve_issue_in_repository( issue_title: str, issue_description: str, issue_number: str, - gitea_client=None, - seen_issues_db=None, + gitea_client, + seen_issues_db, ) -> bool: logger.info('### %s #####', issue_title) @@ -392,10 +377,17 @@ def solve_issue_in_repository( gitea_client, args.owner, args.repo, - seen_issues_db, - issue_text, ) + # Store PR information in the database if available + if success: + seen_issues_db.update_pr_info(issue_text, pr_number, pr_url) + logger.info( + 'Stored PR #%s information for issue #%s', + pr_number, + issue_number, + ) + return success diff --git a/test/test_seen_issues_db_pr_info.py b/test/test_seen_issues_db_pr_info.py index 971dca7..7083115 100644 --- a/test/test_seen_issues_db_pr_info.py +++ b/test/test_seen_issues_db_pr_info.py @@ -61,7 +61,9 @@ class TestSeenIssuesDBPRInfo: def test_update_nonexistent_issue(self): # Try to update PR info for an issue that doesn't exist updated = self.db.update_pr_info( - 'Nonexistent issue', self.pr_number, self.pr_url, + 'Nonexistent issue', + self.pr_number, + self.pr_url, ) # Verify update failed diff --git a/test/test_solve_issue_in_repository.py b/test/test_solve_issue_in_repository.py index 3622c55..62ba346 100644 --- a/test/test_solve_issue_in_repository.py +++ b/test/test_solve_issue_in_repository.py @@ -13,6 +13,7 @@ class TestSolveIssueInRepository: self.args.base_branch = 'main' self.gitea_client = MagicMock() + self.seen_issues_db = MagicMock() self.tmpdirname = Path('/tmp/test-repo') self.branch_name = 'issue-123-test-branch' self.issue_title = 'Test Issue' @@ -56,6 +57,7 @@ class TestSolveIssueInRepository: self.issue_description, self.issue_number, self.gitea_client, + self.seen_issues_db, ) # Verify results @@ -93,6 +95,7 @@ class TestSolveIssueInRepository: self.issue_description, self.issue_number, self.gitea_client, + self.seen_issues_db, ) # Verify results