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