From 94cdb2ca9e15f62e65d20cdf278d71341a696379 Mon Sep 17 00:00:00 2001 From: tituspijean Date: Wed, 23 Nov 2022 22:01:07 +0100 Subject: [PATCH] Add yunohost-bot forks cleanup script --- tools/bot-repo-cleanup/cleanup.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 tools/bot-repo-cleanup/cleanup.py diff --git a/tools/bot-repo-cleanup/cleanup.py b/tools/bot-repo-cleanup/cleanup.py new file mode 100644 index 00000000..336ef9cc --- /dev/null +++ b/tools/bot-repo-cleanup/cleanup.py @@ -0,0 +1,28 @@ +#!venv/bin/python3 + +from github import Github +from github.Workflow import Workflow + +# API token for yunohost-bot, with "delete_repo" right +g = Github("TOKEN_REPLACE_ME") +u = g.get_user("yunohost-bot") + +print("| Repository ".ljust(22) + " | Decision |") +print("| ".ljust(22, '-') + " | -------- |") + +for repo in u.get_repos(): + delete = False + if repo.parent.full_name.split('/')[0] == "YunoHost-Apps": + prs = [] + for pr in repo.parent.get_pulls(state='open', sort='created'): + prs.append(pr) + if not any([ (pr.user == u) for pr in prs ]): + delete = True + else: + print("| "+repo.name.ljust(20) + " | Skipping |") + continue + if delete: + print("| "+repo.name.ljust(20) + " | Deleting |") + repo.delete() + else: + print("| "+repo.name.ljust(20) + " | Keeping |")