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`
|
||||||
|
|
||||||
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`
|
### `create-teams`
|
||||||
|
|
||||||
|
|
|
@ -34,8 +34,10 @@ def add_all_canvas_students_to_teams(team_names: List[str]) -> None:
|
||||||
"create-personal-repos",
|
"create-personal-repos",
|
||||||
help="create personal repos on gitea for all canvas students",
|
help="create personal repos on gitea for all canvas students",
|
||||||
)
|
)
|
||||||
def create_personal_repos_for_all_canvas_students() -> None:
|
def create_personal_repos_for_all_canvas_students(
|
||||||
tea.pot.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")
|
@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.config import settings
|
||||||
from joint_teapot.utils.logger import logger
|
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 import Canvas, Git, Gitea, Mattermost
|
||||||
from joint_teapot.workers.joj import JOJ
|
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:
|
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)
|
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(
|
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(
|
def create_teams_and_repos_by_canvas_groups(
|
||||||
|
|
|
@ -30,8 +30,8 @@ def percentile(
|
||||||
|
|
||||||
|
|
||||||
def default_repo_name_convertor(user: User) -> str:
|
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 = re.sub("[\u4e00-\u9fa5]", "", name)
|
||||||
eng = eng.replace(",", "")
|
eng = eng.replace(",", "")
|
||||||
eng = "".join([word[0].capitalize() + word[1:] for word in eng.split()])
|
eng = eng.title().replace(" ", "")
|
||||||
return f"{eng}{sis_login_id}"
|
return f"{eng}{login_id}"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user