Files
nomad_mcp/test_gitea_repos.py
2025-02-26 15:25:39 +07:00

54 lines
1.7 KiB
Python

#!/usr/bin/env python
"""
Test script to list all accessible Gitea repositories grouped by owner.
This will show both personal and organization repositories.
"""
import os
import sys
from collections import defaultdict
from dotenv import load_dotenv
from app.services.gitea_client import GiteaClient
# Load environment variables from .env file
load_dotenv()
def main():
print("Testing Gitea Repository Access for Personal and Organization Accounts...")
# Check if Gitea API URL is configured
gitea_api_url = os.getenv("GITEA_API_URL")
if not gitea_api_url:
print("Error: GITEA_API_URL is not configured in .env file.")
sys.exit(1)
# Initialize the Gitea client
gitea_client = GiteaClient()
# Get all repositories (increase limit if you have many)
repositories = gitea_client.list_repositories(limit=100)
if not repositories:
print("No repositories found or error occurred.")
sys.exit(1)
# Group repositories by owner
owners = defaultdict(list)
for repo in repositories:
owner_name = repo.get('owner', {}).get('login', 'unknown')
owners[owner_name].append(repo)
# Display repositories grouped by owner
print(f"\nFound {len(repositories)} repositories across {len(owners)} owners:")
for owner, repos in owners.items():
print(f"\n== {owner} ({len(repos)} repositories) ==")
for repo in repos:
print(f" - {repo.get('name')}: {repo.get('html_url')}")
print(f" Description: {repo.get('description') or 'No description'}")
print(f" Default branch: {repo.get('default_branch')}")
print("\nTest completed successfully.")
if __name__ == "__main__":
main()