import os
import requests
from secrets import spotify_user_id
from refresh import Refresh

class SpotifyHistory:
    def __init__(self):
        self.spotify_user_id = spotify_user_id
        self.tracks = ""
        self.spotify_access_token = ""
        self.here_i_am = os.path.dirname(os.path.abspath(__file__))

    def find_songs(self):
        print("Get Recently Played...")
        query = "https://api.spotify.com/v1/me/player/recently-played"
        response = requests.request("get", url=query, headers={"Content-type": "application/json", "Authorization": "Bearer {}".format(self.spotify_access_token)}, params={"limit": 50})
        response_json = response.json()

        for i in response_json["items"]:
            self.tracks += i["track"]["uri"] + ","
            #print(i["track"]["uri"] + " - " + i["track"]["name"] + " - " + i["track"]["artists"][0]["name"])
            File_object = open(
                self.here_i_am + r"\\Last 50 Played - " + spotify_user_id + ".txt", "a")
            File_object.writelines([i["track"]["uri"] + " - " + i["track"]["name"] + " - " + i["track"]["artists"][0]["name"] + "\n"])
            File_object.close()
        self.tracks = self.tracks[:-1]

    def start(self):
        print("Refreshing token....")
        refreshCaller = Refresh()
        self.spotify_access_token = refreshCaller.refresh()
        self.find_songs()
    
a = SpotifyHistory()
a.start()
