forked from JOJ/Joint-Teapot
		
	feat: create-personal-repos allows suffix (#18)
* feat: create-personal-repos allows suffix Fix gitea worker by s/sis_login_id/login_id/g Also simplify name conversion with str.title() * docs: document create-personal-repos --suffix
This commit is contained in:
		
							parent
							
								
									58cd7ba4a1
								
							
						
					
					
						commit
						1530d8b44d
					
				|  | @ -73,7 +73,9 @@ Examples (run both with `python3 -m joint_teapot create-issues`): | |||
| 
 | ||||
| ### `create-personal-repos` | ||||
| 
 | ||||
| create personal repos on gitea for all canvas students | ||||
| create personal repos on gitea for all canvas students. You may specify an optional suffix. | ||||
| 
 | ||||
| Example: `python3 -m joint_teapot create-personal-repos --suffix "-p1"` will create repos named `StudentNameStudentID-p1`. | ||||
| 
 | ||||
| ### `create-teams` | ||||
| 
 | ||||
|  |  | |||
|  | @ -34,8 +34,10 @@ def add_all_canvas_students_to_teams(team_names: List[str]) -> None: | |||
|     "create-personal-repos", | ||||
|     help="create personal repos on gitea for all canvas students", | ||||
| ) | ||||
| def create_personal_repos_for_all_canvas_students() -> None: | ||||
|     tea.pot.create_personal_repos_for_all_canvas_students() | ||||
| def create_personal_repos_for_all_canvas_students( | ||||
|     suffix: str = Option("") | ||||
| ) -> None: | ||||
|     tea.pot.create_personal_repos_for_all_canvas_students(suffix) | ||||
| 
 | ||||
| 
 | ||||
| @app.command("create-teams", help="create teams on gitea by canvas groups") | ||||
|  |  | |||
|  | @ -5,7 +5,7 @@ from typing import Any, Callable, Dict, List, Optional, TypeVar | |||
| 
 | ||||
| from joint_teapot.config import settings | ||||
| from joint_teapot.utils.logger import logger | ||||
| from joint_teapot.utils.main import first | ||||
| from joint_teapot.utils.main import first, default_repo_name_convertor | ||||
| from joint_teapot.workers import Canvas, Git, Gitea, Mattermost | ||||
| from joint_teapot.workers.joj import JOJ | ||||
| 
 | ||||
|  | @ -86,9 +86,10 @@ class Teapot: | |||
|     def add_all_canvas_students_to_teams(self, team_names: List[str]) -> None: | ||||
|         return self.gitea.add_canvas_students_to_teams(self.canvas.students, team_names) | ||||
| 
 | ||||
|     def create_personal_repos_for_all_canvas_students(self) -> List[str]: | ||||
|     def create_personal_repos_for_all_canvas_students(self, suffix: str = "") -> List[str]: | ||||
|         return self.gitea.create_personal_repos_for_canvas_students( | ||||
|             self.canvas.students | ||||
|             self.canvas.students, | ||||
|             lambda user: default_repo_name_convertor(user) + suffix | ||||
|         ) | ||||
| 
 | ||||
|     def create_teams_and_repos_by_canvas_groups( | ||||
|  |  | |||
|  | @ -30,8 +30,8 @@ def percentile( | |||
| 
 | ||||
| 
 | ||||
| def default_repo_name_convertor(user: User) -> str: | ||||
|     sis_login_id, name = user.sis_login_id, user.name | ||||
|     login_id, name = user.login_id, user.name | ||||
|     eng = re.sub("[\u4e00-\u9fa5]", "", name) | ||||
|     eng = eng.replace(",", "") | ||||
|     eng = "".join([word[0].capitalize() + word[1:] for word in eng.split()]) | ||||
|     return f"{eng}{sis_login_id}" | ||||
|     eng = eng.title().replace(" ", "") | ||||
|     return f"{eng}{login_id}" | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Frederick
						Frederick