Skip to content

Commit 401eeb7

Browse files
committed
refactor: tupe to dictionary internal review category
1 parent 932dbf0 commit 401eeb7

File tree

1 file changed

+15
-16
lines changed

1 file changed

+15
-16
lines changed

Diff for: pullbug/bug.py

+15-16
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import os
2-
from typing import Any, List, Tuple
2+
from typing import Any, Dict, List, Tuple
33

44
import woodchips
55
from github import Github, Issue, NamedUser, PaginatedList, PullRequest
@@ -188,9 +188,7 @@ def get_pull_requests(self, repos: PaginatedList.PaginatedList) -> List[PullRequ
188188

189189
return flat_pull_requests_list
190190

191-
def get_pull_request_reviews(
192-
self, pull_request: PullRequest.PullRequest
193-
) -> Tuple[List[NamedUser.NamedUser], List[NamedUser.NamedUser], List[NamedUser.NamedUser]]:
191+
def get_pull_request_reviews(self, pull_request: PullRequest.PullRequest) -> Dict[str, List[NamedUser.NamedUser]]:
194192
"""Grab all pull request reviews of a single pull request.
195193
196194
We then break down these reviews into `APPROVED`, `CHANGES_REQUESTED`, or `DISMISSED` as the `state`.
@@ -199,24 +197,26 @@ def get_pull_request_reviews(
199197

200198
logger.debug(f'Bugging GitHub for pull request reviews of {pull_request.title}...')
201199

202-
users_who_approved = []
203-
users_who_requested_changes = []
204-
users_who_were_dismissed = []
200+
pull_request_reviews_by_category: Dict[str, List[NamedUser.NamedUser]] = {
201+
'users_who_approved': [],
202+
'users_who_requested_changes': [],
203+
'users_who_were_dismissed': [],
204+
}
205205

206206
pull_request_reviews = pull_request.get_reviews()
207207

208208
for pull_request_review in pull_request_reviews:
209209
pull_request_review_user = pull_request_review.user
210210
if pull_request_review and pull_request_review.state == 'APPROVED':
211-
users_who_approved.append(pull_request_review_user)
211+
pull_request_reviews_by_category['users_who_approved'].append(pull_request_review_user)
212212
elif pull_request_review and pull_request_review.state == 'CHANGES_REQUESTED':
213-
users_who_requested_changes.append(pull_request_review_user)
213+
pull_request_reviews_by_category['users_who_requested_changes'].append(pull_request_review_user)
214214
elif pull_request_review and pull_request_review.state == 'DISMISSED':
215-
users_who_were_dismissed.append(pull_request_review_user)
215+
pull_request_reviews_by_category['users_who_were_dismissed'].append(pull_request_review_user)
216216

217217
logger.debug(f'Pull request reviews retrieved for {pull_request.title}!')
218218

219-
return users_who_approved, users_who_requested_changes, users_who_were_dismissed
219+
return pull_request_reviews_by_category
220220

221221
def get_issues(self, repos: PaginatedList.PaginatedList) -> List[Issue.Issue]:
222222
"""Grab all issues from each repo and return a flat list of issues."""
@@ -266,11 +266,10 @@ def iterate_pull_requests(self, pull_requests: PaginatedList.PaginatedList) -> T
266266
reviewers_requested.append(team)
267267

268268
# We need to separately get reviewers who approved, requested changes, or got dismissed
269-
(
270-
users_who_approved,
271-
users_who_requested_changes,
272-
users_who_were_dismissed,
273-
) = self.get_pull_request_reviews(pull_request)
269+
pull_request_reviews_by_category = self.get_pull_request_reviews(pull_request)
270+
users_who_approved = pull_request_reviews_by_category['users_who_approved']
271+
users_who_requested_changes = pull_request_reviews_by_category['users_who_requested_changes']
272+
users_who_were_dismissed = pull_request_reviews_by_category['users_who_were_dismissed']
274273

275274
message, discord_message = Message.prepare_pulls_message(
276275
pull_request=pull_request,

0 commit comments

Comments
 (0)