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" | ||||||
|                     ) |                     ) | ||||||
|  |                 try: | ||||||
|                     username = self._get_username_by_canvas_student(student) |                     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
	 Frederick
						Frederick