2 more /improve good suggestions

This commit is contained in:
idavidov
2023-08-19 15:47:45 +03:00
parent fdd16f6c75
commit 6595c3e0c9

View File

@ -172,7 +172,7 @@ class GitLabProvider(GitProvider):
self.mr.discussions.create({'body': body, self.mr.discussions.create({'body': body,
'position': pos_obj}) 'position': pos_obj})
def get_relevant_diff(self, relevant_file, relevant_line_in_file): def get_relevant_diff(self, relevant_file: str, relevant_line_in_file: int) -> Optional[dict]:
changes = self.mr.changes() # Retrieve the changes for the merge request once changes = self.mr.changes() # Retrieve the changes for the merge request once
if not changes: if not changes:
logging.error('No changes found for the merge request.') logging.error('No changes found for the merge request.')
@ -181,10 +181,10 @@ class GitLabProvider(GitProvider):
if not all_diffs: if not all_diffs:
logging.error('No diffs found for the merge request.') logging.error('No diffs found for the merge request.')
raise ValueError(f"Could not get diff for merge request {self.id_mr}") raise ValueError(f"Could not get diff for merge request {self.id_mr}")
for d in all_diffs: for diff in all_diffs:
for change in changes['changes']: for change in changes['changes']:
if change['new_path'] == relevant_file and relevant_line_in_file in change['diff']: if change['new_path'] == relevant_file and relevant_line_in_file in change['diff']:
return d return diff
logging.debug( logging.debug(
f'No relevant diff found for {relevant_file} {relevant_line_in_file}. Falling back to last diff.') f'No relevant diff found for {relevant_file} {relevant_line_in_file}. Falling back to last diff.')
return self.last_diff # fallback to last_diff if no relevant diff is found return self.last_diff # fallback to last_diff if no relevant diff is found