diff --git a/archiver.py b/archiver.py index 89456e2..c992e7f 100644 --- a/archiver.py +++ b/archiver.py @@ -3,19 +3,25 @@ import os ARCHIVE_ORG = "archive" +def set_if_needed(item, attr, value): + if getattr(item, attr) != value: + setattr(item, attr, value) + def main(): gitea = Gitea(os.environ["GITEA_URL"], os.environ["GITEA_TOKEN"]) org = Organization.request(gitea, ARCHIVE_ORG) - + print("Fetching repositories...") for repo in org.get_repositories(): - print(repo.get_full_name()) - repo.archived = True - repo.has_projects = False - repo.has_issues = False - repo.has_pull_requests = False - repo.has_wiki = False - repo.commit() + set_if_needed(repo, "archived", True) + set_if_needed(repo, "has_projects", False) + set_if_needed(repo, "has_issues", False) + set_if_needed(repo, "has_pull_requests", False) + set_if_needed(repo, "has_wiki", False) + + if repo.get_dirty_fields(): + print("Updating", repo.get_full_name()) + repo.commit() if __name__ == "__main__":