gitea-archiver/archiver.py

29 lines
801 B
Python
Raw Normal View History

2023-03-26 15:38:00 +01:00
from gitea import Gitea, Organization
import os
ARCHIVE_ORG = "archive"
2023-03-26 18:22:32 +01:00
def set_if_needed(item, attr, value):
if getattr(item, attr) != value:
setattr(item, attr, value)
2023-03-26 15:38:00 +01:00
def main():
gitea = Gitea(os.environ["GITEA_URL"], os.environ["GITEA_TOKEN"])
org = Organization.request(gitea, ARCHIVE_ORG)
2023-03-26 18:22:32 +01:00
print("Fetching repositories...")
2023-03-26 15:38:00 +01:00
for repo in org.get_repositories():
2023-03-26 18:22:32 +01:00
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()
2023-03-26 15:38:00 +01:00
if __name__ == "__main__":
main()