from secrets import refresh_token, base_64
from typing import Counter
from datetime import datetime
import requests
import json

#DO NOT TOUCH THIS CODE.......IT WONT WORK IF YOU DO!!!!

class Refresh:

    def __init__(self):
        self.refresh_token = refresh_token
        self.base_64 = base_64

    def refresh(self):     # NOTE Euans 2nd Fix
        print("[!] Attempting refresh...")
        now = datetime.now()    
        date_time = now.strftime("%d/%m/%y at %H:%M:%S")
        File_object = open(r"Refresh-data (DO NOT DELETE!).txt","a")
        File_object.writelines([date_time + " - Refresh complete" + "\n"])
        File_object.close()
        
        query = "https://accounts.spotify.com/api/token"
        response = requests.post(query, data={"grant_type": "refresh_token", "refresh_token": refresh_token}, headers={"Authorization": "Basic " + base_64})
        #UPDATES ADDED HERE
        #1.) Check for response.status_code == 200
        #Only in this circumstance should we try to return the access token
        #in all other cases, return -1

        if response.status_code == 200:
            response_json = response.json()
            return response_json["access_token"]
        else:
            #In case of 503 error, etc
            return -1

