Skip to content

Commit e09fa17

Browse files
authored
Update gemini_review.py
1 parent b24a267 commit e09fa17

File tree

1 file changed

+9
-13
lines changed

1 file changed

+9
-13
lines changed

hack/gemini_review.py

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,14 @@
11
import google.generativeai as genai
22
import os
33
from github import Github
4-
import base64
54

6-
def get_pr_diff():
7-
"""Retrieves, base64 decodes, and cleans the PR diff from environment variables."""
8-
encoded_diff = os.environ.get('INPUT_DIFF') or ""
9-
try:
10-
decoded_diff = base64.b64decode(encoded_diff).decode('utf-8')
11-
except Exception as e:
12-
print(f"Error decoding base64: {e}")
13-
return "" #Return empty string on error.
14-
15-
cleaned_diff = decoded_diff.replace("DIFF<<EOF", "").replace("EOF", "").strip()
16-
return cleaned_diff
5+
def get_pr_diff(repo_name, pr_number, github_token):
6+
"""Retrieves and cleans the PR diff using PyGithub."""
7+
g = Github(github_token)
8+
repo = g.get_repo(repo_name)
9+
pr = repo.get_pull(pr_number)
10+
diff = pr.get_commits().files.patch # Get diff from the latest commit
11+
return diff
1712

1813
def generate_gemini_review(diff, api_key):
1914
"""Generates a code review using the Gemini API."""
@@ -45,7 +40,8 @@ def main():
4540
pr_number = int(os.environ.get('PR_NUMBER'))
4641
repo_name = os.environ.get('GITHUB_REPOSITORY')
4742
github_token = os.environ.get('GITHUB_TOKEN')
48-
diff = get_pr_diff()
43+
44+
diff = get_pr_diff(repo_name, pr_number, github_token) # Get diff directly
4945

5046
review_comment = generate_gemini_review(diff, api_key)
5147

0 commit comments

Comments
 (0)