forked from JOJ/Joint-Teapot
		
	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