feat: check exist issue by title
This commit is contained in:
parent
5736be013c
commit
49d2ce56f3
|
@ -1,6 +1,5 @@
|
|||
from joint_teapot.__main__ import run
|
||||
from joint_teapot.teapot import Teapot as Teapot
|
||||
from joint_teapot.__main__ import app
|
||||
|
||||
|
||||
def main() -> None:
|
||||
run()
|
||||
app()
|
||||
|
|
|
@ -3,11 +3,11 @@ __version__ = "0.0.0"
|
|||
from datetime import datetime
|
||||
from typing import List
|
||||
|
||||
import typer
|
||||
from typer import Typer, echo
|
||||
|
||||
from joint_teapot.teapot import Teapot
|
||||
|
||||
app = typer.Typer(add_completion=False)
|
||||
app = Typer(add_completion=False)
|
||||
teapot = Teapot()
|
||||
|
||||
|
||||
|
@ -23,7 +23,7 @@ def create_teams_and_repos_by_canvas_groups() -> None:
|
|||
|
||||
@app.command("get-public-keys")
|
||||
def get_public_key_of_all_canvas_students() -> None:
|
||||
typer.echo(teapot.get_public_key_of_all_canvas_students())
|
||||
echo(teapot.get_public_key_of_all_canvas_students())
|
||||
|
||||
|
||||
@app.command("archieve")
|
||||
|
@ -36,6 +36,11 @@ def create_issue_for_repos(repo_names: List[str], title: str, body: str) -> None
|
|||
teapot.create_issue_for_repos(repo_names, title, body)
|
||||
|
||||
|
||||
@app.command("check-issues")
|
||||
def check_exist_issue_by_title(repo_names: List[str], title: str) -> None:
|
||||
echo(teapot.check_exist_issue_by_title(repo_names, title))
|
||||
|
||||
|
||||
@app.command("get-release")
|
||||
def checkout_to_repos_by_release_name(
|
||||
repo_names: List[str], release_name: str, due: datetime = datetime(3000, 1, 1)
|
||||
|
@ -43,9 +48,5 @@ def checkout_to_repos_by_release_name(
|
|||
teapot.checkout_to_repos_by_release_name(repo_names, release_name, due)
|
||||
|
||||
|
||||
def run() -> None:
|
||||
app()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
run()
|
||||
app()
|
||||
|
|
|
@ -53,6 +53,15 @@ class Teapot:
|
|||
for repo_name in repo_names:
|
||||
self.gitea.create_issue(repo_name, title, body)
|
||||
|
||||
def check_exist_issue_by_title(
|
||||
self, repo_names: List[str], title: str
|
||||
) -> List[str]:
|
||||
res = []
|
||||
for repo_name in repo_names:
|
||||
if not self.gitea.check_exist_issue_by_title(repo_name, title):
|
||||
res.append(repo_name)
|
||||
return res
|
||||
|
||||
def checkout_to_repos_by_release_name(
|
||||
self,
|
||||
repo_names: List[str],
|
||||
|
|
|
@ -196,6 +196,12 @@ class Gitea:
|
|||
body={"title": title, "body": body, "assignees": assignees},
|
||||
)
|
||||
|
||||
def check_exist_issue_by_title(self, repo_name: str, title: str) -> bool:
|
||||
for issue in self.issue_api.issue_list_issues(self.org_name, repo_name):
|
||||
if issue.title == title:
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
gitea = Gitea()
|
||||
|
|
Loading…
Reference in New Issue
Block a user