import requests class GitHubAPI: def __init__(self): self.base_url = 'https://api.github.com' def get_repository(self, repo_url): try: owner, repo = repo_url.split("github.com/")[1].split("/") api_url = f"{self.base_url}/repos/{owner}/{repo}/contents" response = requests.get(api_url) response.raise_for_status() # Raise HTTPError for bad responses (4xx or 5xx) return response.json() except requests.exceptions.RequestException as e: return f"Error fetching repository: {e}" except IndexError: return "Invalid GitHub repository URL. Please use a format like: https://github.com/owner/repo" except Exception as e: return f"An unexpected error occurred: {e}" def get_file_content(self, download_url): try: response = requests.get(download_url) response.raise_for_status() return response.text except requests.exceptions.RequestException as e: return f"Error fetching file content: {e}"