Skip to content

Commit

Permalink
Added cancel invititation before reinviting
Browse files Browse the repository at this point in the history
  • Loading branch information
twyleg committed Apr 4, 2024
1 parent 13bcdbd commit 81a8200
Showing 1 changed file with 10 additions and 9 deletions.
19 changes: 10 additions & 9 deletions classroom_utils/github_operations.py
Expand Up @@ -103,13 +103,13 @@ def _repo_remove_invitation(repo: github.Repository.Repository, invitee: github.

pending_invitations = repo.get_pending_invitations()

with alive_bar(pending_invitations.totalCount, title="Granting access:", enrich_print=False) as bar:
for invitation in pending_invitations:
logm.debug(" - Found invitation: '%s'", invitation.invitee.login)
if invitation.invitee.login == invitee.login:
logm.debug(" - Remove invitation!")
repo.remove_invitation(invitation.id)
bar()
for invitation in pending_invitations:
if invitation.invitee.login == invitee.login:
logm.debug("Found invitation: '%s'", invitation.invitee.login)
repo.remove_invitation(invitation.id)
return
logm.warning("Unable to find and remove invitation for '%s'", invitation.invitee.login)


@staticmethod
def _repo_is_invitation_for_user_pending(repo: github.Repository, user: github.NamedUser) -> bool:
Expand Down Expand Up @@ -137,9 +137,10 @@ def _repo_access_grant(self, repo: github.Repository.Repository, member: Member,
member_named_user = self._get_named_user(member.github_username)
if repo.has_in_collaborators(member_named_user):
logm.warning("User already a collaborator of repo '%s' -> '%s' already pending. Nothing todo!", member, repo.full_name)
elif self._repo_is_invitation_for_user_pending(repo, member_named_user):
logm.warning("Invitation already pending: '%s' -> '%s'. Nothing todo!", member, repo.full_name)
else:
if self._repo_is_invitation_for_user_pending(repo, member_named_user):
logm.warning("Invitation already pending: '%s' -> '%s'. Inviting again!", member, repo.full_name)
self._repo_remove_invitation(repo, member_named_user)
repo.add_to_collaborators(member_named_user, permission=permission)
logm.info("Granted access to repo '%s' -> '%s', permission: '%s'", member, repo.full_name, permission)

Expand Down

0 comments on commit 81a8200

Please sign in to comment.