From c2de636ba44b12aed3fabb974928c3dc0568c2e2 Mon Sep 17 00:00:00 2001 From: tituspijean Date: Sat, 26 Nov 2022 20:45:17 +0100 Subject: [PATCH] Comment the bot-repo-cleanup script --- bot-repo-cleanup/cleanup.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/bot-repo-cleanup/cleanup.py b/bot-repo-cleanup/cleanup.py index 336ef9c..51f15a1 100644 --- a/bot-repo-cleanup/cleanup.py +++ b/bot-repo-cleanup/cleanup.py @@ -1,5 +1,6 @@ #!venv/bin/python3 +# Obtained with `pip install PyGithub`, better within a venv from github import Github from github.Workflow import Workflow @@ -7,15 +8,21 @@ from github.Workflow import Workflow g = Github("TOKEN_REPLACE_ME") u = g.get_user("yunohost-bot") +# Let's build a minimalistic summary table print("| Repository ".ljust(22) + " | Decision |") print("| ".ljust(22, '-') + " | -------- |") +# For each repositories belonging to the bot (user `u`), assume we will not delete it for repo in u.get_repos(): delete = False + # Proceed iff the repository is a fork (`parent` key is set) of a repository in our apps organization if repo.parent.full_name.split('/')[0] == "YunoHost-Apps": prs = [] + # Build the list of PRs currently opened in the repository + # (the get_pulls method returns an iterable, not the full list) for pr in repo.parent.get_pulls(state='open', sort='created'): prs.append(pr) + # If none of the PRs are opened by the bot, delete the repository if not any([ (pr.user == u) for pr in prs ]): delete = True else: