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.__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