mirror of
https://github.com/qodo-ai/pr-agent.git
synced 2025-07-03 04:10:49 +08:00
Performance improvement: Filter out bad files before getting their head and original source code and diff
This commit is contained in:
@ -64,7 +64,11 @@ bad_extensions = [
|
||||
|
||||
|
||||
def filter_bad_extensions(files):
|
||||
return [f for f in files if f.filename.split('.')[-1] not in bad_extensions]
|
||||
return [f for f in files if is_valid_file(f.filename)]
|
||||
|
||||
|
||||
def is_valid_file(filename):
|
||||
return filename.split('.')[-1] not in bad_extensions
|
||||
|
||||
|
||||
def sort_files_by_main_languages(languages: Dict, files: list):
|
||||
|
@ -8,6 +8,7 @@ from github import AppAuthentication, Github
|
||||
from pr_agent.config_loader import settings
|
||||
|
||||
from .git_provider import FilePatchInfo, GitProvider
|
||||
from ..algo.language_handler import is_valid_file
|
||||
|
||||
|
||||
class GithubProvider(GitProvider):
|
||||
@ -37,6 +38,7 @@ class GithubProvider(GitProvider):
|
||||
files = self.pr.get_files()
|
||||
diff_files = []
|
||||
for file in files:
|
||||
if is_valid_file(file.filename):
|
||||
original_file_content_str = self._get_pr_file_content(file, self.pr.base.sha)
|
||||
new_file_content_str = self._get_pr_file_content(file, self.pr.head.sha)
|
||||
diff_files.append(FilePatchInfo(original_file_content_str, new_file_content_str, file.patch, file.filename))
|
||||
|
@ -9,6 +9,7 @@ from gitlab import GitlabGetError
|
||||
from pr_agent.config_loader import settings
|
||||
|
||||
from .git_provider import EDIT_TYPE, FilePatchInfo, GitProvider
|
||||
from ..algo.language_handler import is_valid_file
|
||||
|
||||
|
||||
class GitLabProvider(GitProvider):
|
||||
@ -59,6 +60,7 @@ class GitLabProvider(GitProvider):
|
||||
diffs = self.mr.changes()['changes']
|
||||
diff_files = []
|
||||
for diff in diffs:
|
||||
if is_valid_file(diff['new_path']):
|
||||
original_file_content_str = self._get_pr_file_content(diff['old_path'], self.mr.target_branch)
|
||||
new_file_content_str = self._get_pr_file_content(diff['new_path'], self.mr.source_branch)
|
||||
edit_type = EDIT_TYPE.MODIFIED
|
||||
|
Reference in New Issue
Block a user