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}" |