etc.git


etc

~ scripts and random things
git clone https://github.com/djnnvx/etc.git
log | files | refs | archive

enum-gitea-repositories (1211B)

      1 #!/bin/env python
      2 
      3 import requests
      4 import sys
      5 import os
      6 
      7 def format_domain(domain):
      8     if not domain.startswith(('http://', 'https://')):
      9         domain = 'https://' + domain
     10     return domain
     11 
     12 def get_repositories(token, domain):
     13     headers = {
     14         'Authorization': f'token {token}'
     15     }
     16     url = f'{domain}/api/v1/user/repos'
     17     response = requests.get(url, headers=headers)
     18 
     19     if response.status_code == 200:
     20         return response.json()
     21     else:
     22         raise Exception(f'Failed to retrieve repositories: {response.status_code}')
     23 
     24 def main():
     25     if len(sys.argv) < 2:
     26         print("Usage: GITEA_ACCESS_TOKEN=<add here> enum-gitea-repository <gitea_domain>")
     27         sys.exit(1)
     28 
     29     gitea_domain = format_domain(sys.argv[1])
     30 
     31     personal_access_token = os.getenv('GITEA_ACCESS_TOKEN')
     32     if not personal_access_token:
     33         print("Error: GITEA_ACCESS_TOKEN environment variable not set.")
     34         sys.exit(1)
     35 
     36     try:
     37         repos = get_repositories(personal_access_token, gitea_domain)
     38         print("Repositories:")
     39         for repo in repos:
     40             print(f"- {repo['full_name']}")
     41     except Exception as e:
     42         print(f"Error: {e}")
     43 
     44 if __name__ == "__main__":
     45     main()
     46