From 183f4267de01ee50b13099fdd347084241ef4068 Mon Sep 17 00:00:00 2001 From: mQzLjP <91550006+mQzLjP@users.noreply.github.com> Date: Fri, 16 May 2025 17:28:44 +0800 Subject: [PATCH] feat: update team naming format (#53) --- README.md | 2 +- joint_teapot/app.py | 8 +++++--- joint_teapot/teapot.py | 2 +- joint_teapot/workers/mattermost.py | 8 +++++--- 4 files changed, 12 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 3fdc9fe..9bc4b35 100644 --- a/README.md +++ b/README.md @@ -87,7 +87,7 @@ Example: `python3 -m joint_teapot create-personal-repos --suffix "-p1"` will cre ### `create-teams` -create teams on gitea by canvas groups +create teams on gitea by canvas groups. To integrate with webhooks, it's recommended to set suffix to `-gitea`. ### `create-webhooks-for-mm` diff --git a/joint_teapot/app.py b/joint_teapot/app.py index e2345ce..c5a975b 100644 --- a/joint_teapot/app.py +++ b/joint_teapot/app.py @@ -184,7 +184,7 @@ def upload_assignment_grades(assignments_dir: Path, assignment_name: str) -> Non @app.command( "create-group-channels-on-mm", help="create channels for student groups according to group information on" - " gitea", + " gitea; to integrate with webhooks, it's recommended to set suffix to '-gitea'", ) def create_group_channels_on_mm( prefix: str = Option(""), @@ -221,7 +221,7 @@ def create_personal_channels_on_mm( "and configure them so that updates on gitea will be pushed to the mm channel", ) def create_webhooks_for_mm( - regex: str = Argument(""), git_suffix: bool = Option(False) + regex: str = Argument(""), gitea_suffix: bool = Option(True) ) -> None: repo_names = [ group_name @@ -229,7 +229,9 @@ def create_webhooks_for_mm( if re.match(regex, group_name) ] logger.info(f"{len(repo_names)} pair(s) of webhooks to be created: {repo_names}") - tea.pot.mattermost.create_webhooks_for_repos(repo_names, tea.pot.gitea, git_suffix) + tea.pot.mattermost.create_webhooks_for_repos( + repo_names, tea.pot.gitea, gitea_suffix + ) @app.command( diff --git a/joint_teapot/teapot.py b/joint_teapot/teapot.py index 58cc3d5..129b08c 100644 --- a/joint_teapot/teapot.py +++ b/joint_teapot/teapot.py @@ -111,7 +111,7 @@ class Teapot: return None team_name, number_str = name.split(" ") number = int(number_str) - return f"{team_name}-{number:02}" + return f"{team_name}{number:02}" return self.gitea.create_teams_and_repos_by_canvas_groups( self.canvas.students, self.canvas.groups, convertor, convertor diff --git a/joint_teapot/workers/mattermost.py b/joint_teapot/workers/mattermost.py index f67c699..de64b2b 100644 --- a/joint_teapot/workers/mattermost.py +++ b/joint_teapot/workers/mattermost.py @@ -167,12 +167,14 @@ class Mattermost: logger.info(f"Added member {member} to channel {channel_name}") def create_webhooks_for_repos( - self, repos: List[str], gitea: Gitea, git_suffix: bool + self, repos: List[str], gitea: Gitea, gitea_suffix: bool ) -> None: # one group corresponds to one repo so these concepts can be used interchangeably for repo in repos: - logger.info(f"Creating webhooks for repo {gitea.org_name}/{repo}") - channel_name = f"{repo}-git" if git_suffix else repo + channel_name = f"{repo}-gitea" if gitea_suffix else repo + logger.info( + f"Creating webhooks for repo {gitea.org_name}/{repo} and channel {channel_name}" + ) try: mm_channel = self.endpoint.channels.get_channel_by_name( self.team["id"], channel_name