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.__main__ import app
|
||||||
from joint_teapot.teapot import Teapot as Teapot
|
|
||||||
|
|
||||||
|
|
||||||
def main() -> None:
|
def main() -> None:
|
||||||
run()
|
app()
|
||||||
|
|
|
@ -3,11 +3,11 @@ __version__ = "0.0.0"
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
import typer
|
from typer import Typer, echo
|
||||||
|
|
||||||
from joint_teapot.teapot import Teapot
|
from joint_teapot.teapot import Teapot
|
||||||
|
|
||||||
app = typer.Typer(add_completion=False)
|
app = Typer(add_completion=False)
|
||||||
teapot = Teapot()
|
teapot = Teapot()
|
||||||
|
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@ def create_teams_and_repos_by_canvas_groups() -> None:
|
||||||
|
|
||||||
@app.command("get-public-keys")
|
@app.command("get-public-keys")
|
||||||
def get_public_key_of_all_canvas_students() -> None:
|
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")
|
@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)
|
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")
|
@app.command("get-release")
|
||||||
def checkout_to_repos_by_release_name(
|
def checkout_to_repos_by_release_name(
|
||||||
repo_names: List[str], release_name: str, due: datetime = datetime(3000, 1, 1)
|
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)
|
teapot.checkout_to_repos_by_release_name(repo_names, release_name, due)
|
||||||
|
|
||||||
|
|
||||||
def run() -> None:
|
|
||||||
app()
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
run()
|
app()
|
||||||
|
|
|
@ -53,6 +53,15 @@ class Teapot:
|
||||||
for repo_name in repo_names:
|
for repo_name in repo_names:
|
||||||
self.gitea.create_issue(repo_name, title, body)
|
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(
|
def checkout_to_repos_by_release_name(
|
||||||
self,
|
self,
|
||||||
repo_names: List[str],
|
repo_names: List[str],
|
||||||
|
|
|
@ -196,6 +196,12 @@ class Gitea:
|
||||||
body={"title": title, "body": body, "assignees": assignees},
|
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__":
|
if __name__ == "__main__":
|
||||||
gitea = Gitea()
|
gitea = Gitea()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user