From fe2dd13c93e2c7784abc99bc1b42775cacbd7021 Mon Sep 17 00:00:00 2001
From: tituspijean <tituspijean@outlook.com>
Date: Wed, 23 Nov 2022 22:01:07 +0100
Subject: [PATCH] Add yunohost-bot forks cleanup script

---
 bot-repo-cleanup/cleanup.py | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)
 create mode 100644 bot-repo-cleanup/cleanup.py

diff --git a/bot-repo-cleanup/cleanup.py b/bot-repo-cleanup/cleanup.py
new file mode 100644
index 0000000..336ef9c
--- /dev/null
+++ b/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  |")