import requests
import settings
import datetime

def get():
    # Define the headers
    headers = {
        'Authorization': f'token {settings.GITHUB_TOKEN}',
        'Accept': 'application/vnd.github.v3+json'
    }

    # Define the API endpoint for each repository
    url = f'https://api.github.com/rate_limit'

    # Make the request
    response = requests.get(url, headers=headers)
    # if the request was not successful, return a message saying so
    if response.status_code != 200:
        return {
            'error': 'GitHub API rate limit request failed. Please check your API key and try again.'
        }

    rate_limits = response.json()

    #convert the unixtimestamp to a date/time
    reset_time = datetime.datetime.fromtimestamp(rate_limits['resources']['core']['reset']).strftime('%Y-%m-%d %H:%M:%S')

    return {
        'limit': rate_limits['resources']['core']['limit'],
        'used': rate_limits['resources']['core']['used'],
        'remaining': rate_limits['resources']['core']['remaining'],
        'reset': reset_time
    }
