fix: attr & dir
This commit is contained in:
		
							parent
							
								
									079d1c85ac
								
							
						
					
					
						commit
						dc1d068e5d
					
				|  | @ -14,19 +14,19 @@ class Git: | ||||||
|             raise Exception(f"{repos_dir} does not exist! Create it first.") |             raise Exception(f"{repos_dir} does not exist! Create it first.") | ||||||
|         self.repos_dir = repos_dir |         self.repos_dir = repos_dir | ||||||
| 
 | 
 | ||||||
|     def clone_repo(self, repo_name: str) -> Repo: |     def clone_repo(self, repo_name: str, branch: str = "master") -> Repo: | ||||||
|         repo_dir = os.path.join(self.repos_dir, repo_name) |         repo_dir = os.path.join(self.repos_dir, repo_name) | ||||||
|         return Repo.clone_from( |         return Repo.clone_from( | ||||||
|             f"https://focs.ji.sjtu.edu.cn/git/{self.org_name}/{repo_name}", |             f"ssh://git@focs.ji.sjtu.edu.cn:2222/{self.org_name}/{repo_name}.git", | ||||||
|             repo_dir, |             repo_dir, | ||||||
|             branch="master", |             branch=branch, | ||||||
|         ) |         ) | ||||||
| 
 | 
 | ||||||
|     def get_repo(self, repo_name: str) -> Repo: |     def get_repo(self, repo_name: str) -> Repo: | ||||||
|         repo_dir = os.path.join(self.repos_dir, repo_name) |         repo_dir = os.path.join(self.repos_dir, repo_name) | ||||||
|         if os.path.exists(repo_dir): |         if os.path.exists(repo_dir): | ||||||
|             return Repo(repo_dir) |             return Repo(repo_dir) | ||||||
|         return self.clone_repo(repo_dir) |         return self.clone_repo(repo_name) | ||||||
| 
 | 
 | ||||||
|     def repo_clean_and_checkout(self, repo_name: str, checkout_dest: str) -> str: |     def repo_clean_and_checkout(self, repo_name: str, checkout_dest: str) -> str: | ||||||
|         repo_dir = os.path.join(self.repos_dir, repo_name) |         repo_dir = os.path.join(self.repos_dir, repo_name) | ||||||
|  |  | ||||||
|  | @ -46,6 +46,8 @@ class Gitea: | ||||||
|     @lru_cache |     @lru_cache | ||||||
|     def __get_team_id_by_name(self, name: str) -> int: |     def __get_team_id_by_name(self, name: str) -> int: | ||||||
|         res = self.organization_api.team_search(self.org_name, q=str(name), limit=1) |         res = self.organization_api.team_search(self.org_name, q=str(name), limit=1) | ||||||
|  |         if len(res["data"]) == 0: | ||||||
|  |             raise Exception("Team not found by name") | ||||||
|         return res["data"][0]["id"] |         return res["data"][0]["id"] | ||||||
| 
 | 
 | ||||||
|     @lru_cache |     @lru_cache | ||||||
|  | @ -75,7 +77,7 @@ class Gitea: | ||||||
|             if repo_name is None: |             if repo_name is None: | ||||||
|                 continue |                 continue | ||||||
|             repo_names.append(repo_name) |             repo_names.append(repo_name) | ||||||
|             repo: Dict[str, Any] = self.organization_api.create_org_repo( |             repo = self.organization_api.create_org_repo( | ||||||
|                 self.org_name, |                 self.org_name, | ||||||
|                 body={ |                 body={ | ||||||
|                     "auto_init": False, |                     "auto_init": False, | ||||||
|  | @ -87,9 +89,7 @@ class Gitea: | ||||||
|                 }, |                 }, | ||||||
|             ) |             ) | ||||||
|             self.repository_api.repo_add_collaborator( |             self.repository_api.repo_add_collaborator( | ||||||
|                 self.org_name, |                 self.org_name, repo.name, self.__get_username_by_canvas_student(student) | ||||||
|                 repo["name"], |  | ||||||
|                 self.__get_username_by_canvas_student(student), |  | ||||||
|             ) |             ) | ||||||
|         return repo_names |         return repo_names | ||||||
| 
 | 
 | ||||||
|  | @ -109,7 +109,7 @@ class Gitea: | ||||||
|             if team_name is None or repo_name is None: |             if team_name is None or repo_name is None: | ||||||
|                 continue |                 continue | ||||||
|             repo_names.append(repo_name) |             repo_names.append(repo_name) | ||||||
|             team: Dict[str, Any] = self.organization_api.org_create_team( |             team = self.organization_api.org_create_team( | ||||||
|                 self.org_name, |                 self.org_name, | ||||||
|                 body={ |                 body={ | ||||||
|                     "can_create_org_repo": False, |                     "can_create_org_repo": False, | ||||||
|  | @ -128,7 +128,7 @@ class Gitea: | ||||||
|                     ], |                     ], | ||||||
|                 }, |                 }, | ||||||
|             ) |             ) | ||||||
|             repo: Dict[str, Any] = self.organization_api.create_org_repo( |             repo = self.organization_api.create_org_repo( | ||||||
|                 self.org_name, |                 self.org_name, | ||||||
|                 body={ |                 body={ | ||||||
|                     "auto_init": False, |                     "auto_init": False, | ||||||
|  | @ -140,7 +140,7 @@ class Gitea: | ||||||
|                 }, |                 }, | ||||||
|             ) |             ) | ||||||
|             self.organization_api.org_add_team_repository( |             self.organization_api.org_add_team_repository( | ||||||
|                 team["id"], self.org_name, repo_name |                 team.id, self.org_name, repo_name | ||||||
|             ) |             ) | ||||||
|             membership: GroupMembership |             membership: GroupMembership | ||||||
|             for membership in group.get_memberships(): |             for membership in group.get_memberships(): | ||||||
|  | @ -150,7 +150,7 @@ class Gitea: | ||||||
|                         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) |                 username = self.__get_username_by_canvas_student(student) | ||||||
|                 self.organization_api.org_add_team_member(team["id"]) |                 self.organization_api.org_add_team_member(team.id) | ||||||
|                 self.repository_api.repo_add_collaborator( |                 self.repository_api.repo_add_collaborator( | ||||||
|                     self.org_name, repo_name, username |                     self.org_name, repo_name, username | ||||||
|                 ) |                 ) | ||||||
|  | @ -172,7 +172,7 @@ class Gitea: | ||||||
| 
 | 
 | ||||||
|     def get_all_repo_names(self) -> List[str]: |     def get_all_repo_names(self) -> List[str]: | ||||||
|         return [ |         return [ | ||||||
|             data["name"] for data in self.organization_api.org_list_repos(self.org_name) |             data.name for data in self.organization_api.org_list_repos(self.org_name) | ||||||
|         ] |         ] | ||||||
| 
 | 
 | ||||||
|     def create_issue( |     def create_issue( | ||||||
|  | @ -185,7 +185,7 @@ class Gitea: | ||||||
|         assignees = [] |         assignees = [] | ||||||
|         if assign_every_collaborators: |         if assign_every_collaborators: | ||||||
|             assignees = [ |             assignees = [ | ||||||
|                 item["username"] |                 item.username | ||||||
|                 for item in self.repository_api.repo_list_collaborators( |                 for item in self.repository_api.repo_list_collaborators( | ||||||
|                     self.org_name, repo_name |                     self.org_name, repo_name | ||||||
|                 ) |                 ) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user