whackthejacker's picture
Create repositories/github_api.py
caf7335 verified
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}"