From 691c8a4adce2f644188d7bc463836cf2178c2e16 Mon Sep 17 00:00:00 2001 From: BoYanZh Date: Wed, 26 Mar 2025 21:28:51 -0400 Subject: [PATCH] refactor: move moss-all-repos to teapot.py --- joint_teapot/app.py | 15 +-------------- joint_teapot/teapot.py | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 14 deletions(-) diff --git a/joint_teapot/app.py b/joint_teapot/app.py index 2dbbd3f..878e081 100644 --- a/joint_teapot/app.py +++ b/joint_teapot/app.py @@ -1,4 +1,3 @@ -import glob import json import os import re @@ -7,7 +6,6 @@ from pathlib import Path from time import sleep from typing import TYPE_CHECKING, List -import mosspy from filelock import FileLock from git import Repo from typer import Argument, Exit, Option, Typer, echo @@ -77,18 +75,7 @@ def clone_all_repos() -> None: @app.command("moss-all-repos", help="moss all gitea repos") def moss_all_repos(language: str = "cc", wildcards: List[str] = ["*.*"]) -> None: - m = mosspy.Moss(settings.moss_user_id, language) - for repo_name in tea.pot.gitea.get_all_repo_names(): - base_dir = os.path.join(settings.repos_dir, repo_name) - for wildcard in wildcards: - full_wildcard = os.path.join(base_dir, wildcard) - for file in glob.glob(full_wildcard, recursive=True): - if not os.path.isfile(file): - continue - logger.info(f"Adding file {file}") - m.files.append((file, os.path.relpath(file, settings.repos_dir))) - logger.info("Sending files") - url = m.send() + url = tea.pot.moss_all_repos(language, wildcards) echo("Report Url: " + url) diff --git a/joint_teapot/teapot.py b/joint_teapot/teapot.py index ca91f33..38301c6 100644 --- a/joint_teapot/teapot.py +++ b/joint_teapot/teapot.py @@ -1,8 +1,12 @@ import functools +import glob +import os import re from datetime import datetime from typing import Any, Callable, Dict, List, Optional, TypeVar +import mosspy + from joint_teapot.config import settings from joint_teapot.utils.logger import logger from joint_teapot.utils.main import default_repo_name_convertor, first @@ -116,6 +120,20 @@ class Teapot: logger.info(f"{i}, {self.gitea.org_name}/{repo_name} cloning...") self.git.repo_clean_and_checkout(repo_name, settings.default_branch) + def moss_all_repos(self, language: str, wildcards: List[str]) -> str: + m = mosspy.Moss(settings.moss_user_id, language) + for repo_name in self.gitea.get_all_repo_names(): + base_dir = os.path.join(settings.repos_dir, repo_name) + for wildcard in wildcards: + full_wildcard = os.path.join(base_dir, wildcard) + for file in glob.glob(full_wildcard, recursive=True): + if not os.path.isfile(file): + continue + logger.info(f"Adding file {file}") + m.files.append((file, os.path.relpath(file, settings.repos_dir))) + logger.info("Sending files") + return m.send() + def create_issue_for_repos( self, repo_names: List[str],