fix: gitea worker uses login_id, skips when student not found (#16)
* fix: gitea worker uses login_id, skips when student not found * fix: bare except * fix: redundant logger warning
This commit is contained in:
parent
3df525e563
commit
db402cbb1d
|
@ -68,7 +68,7 @@ class Gitea:
|
||||||
|
|
||||||
@lru_cache()
|
@lru_cache()
|
||||||
def _get_username_by_canvas_student(self, student: User) -> str:
|
def _get_username_by_canvas_student(self, student: User) -> str:
|
||||||
res = self.user_api.user_search(q=student.sis_login_id, limit=1)
|
res = self.user_api.user_search(q=student.login_id, limit=1)
|
||||||
if len(res["data"]) == 0:
|
if len(res["data"]) == 0:
|
||||||
raise Exception(f"{student} not found in Gitea")
|
raise Exception(f"{student} not found in Gitea")
|
||||||
return res["data"][0]["username"]
|
return res["data"][0]["username"]
|
||||||
|
@ -199,16 +199,20 @@ class Gitea:
|
||||||
student_count = 0
|
student_count = 0
|
||||||
for membership in group.get_memberships():
|
for membership in group.get_memberships():
|
||||||
student = first(students, lambda s: s.id == membership.user_id)
|
student = first(students, lambda s: s.id == membership.user_id)
|
||||||
|
student_count += 1
|
||||||
if student is None:
|
if student is None:
|
||||||
raise Exception(
|
raise Exception(
|
||||||
f"student with user_id {membership.user_id} not found"
|
f"student with user_id {membership.user_id} not found"
|
||||||
)
|
)
|
||||||
username = self._get_username_by_canvas_student(student)
|
try:
|
||||||
|
username = self._get_username_by_canvas_student(student)
|
||||||
|
except Exception as e:
|
||||||
|
logger.warning(e)
|
||||||
|
continue
|
||||||
self.organization_api.org_add_team_member(team.id, username)
|
self.organization_api.org_add_team_member(team.id, username)
|
||||||
self.repository_api.repo_add_collaborator(
|
self.repository_api.repo_add_collaborator(
|
||||||
self.org_name, repo_name, username
|
self.org_name, repo_name, username
|
||||||
)
|
)
|
||||||
student_count += 1
|
|
||||||
try:
|
try:
|
||||||
self.repository_api.repo_delete_branch_protection(
|
self.repository_api.repo_delete_branch_protection(
|
||||||
self.org_name, repo_name, "master"
|
self.org_name, repo_name, "master"
|
||||||
|
@ -262,7 +266,7 @@ class Gitea:
|
||||||
if not keys:
|
if not keys:
|
||||||
logger.info(f"{student} has not uploaded ssh keys to gitea")
|
logger.info(f"{student} has not uploaded ssh keys to gitea")
|
||||||
continue
|
continue
|
||||||
res[student.sis_login_id] = keys
|
res[student.login_id] = keys
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(e)
|
logger.error(e)
|
||||||
return res
|
return res
|
||||||
|
|
Loading…
Reference in New Issue
Block a user