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