from datetime import datetime
import shutil
import sys
import os
import json
import requests
import time
from alive_progress import alive_bar
import sqlite3
from sqlite3 import Error
from secrets import familyfeed_id1, familyfeed_id2
from secrets import spotify_user_id
from refresh import Refresh

class getdec:
    def __init__(self):
        self.here_i_am = os.path.dirname(os.path.abspath(__file__))
        self.dec_database = "C:\Spotty Main\Playlist Grab and Go with Sauron\All Playlists Tracks for daftjoe.db"
        self.my_database = "C:\Spotty Main\Endless Petal Version\MyFeed.db"
        self.dec_table_list = ["Decade_Classical_or_Older_Dates_1940_1949", "Decade_1950_1959", "Decade_1960_1969",  "Decade_1970_1979",  "Decade_1980_1989",  "Decade_1990_1999",  "Decade_2000_2009",  "Decade_2010_2019",  "Decade_2020_2029"]
        self.my_table = "Track_List"
        self.x = 0

    def get_the_numbers(self):
        print("Get The Numbers")
        try:
            os.remove(self.here_i_am + r"\\Not Present.txt")
        except:
            pass
        try:
            os.remove(self.here_i_am + r"\\Too Many.txt")
        except:
            pass
        self.database_setup()
        print("Done")
#        self.x == 0
#        while self.x < 9:
#            print(self.dec_table_list[self.x])
#            self.x=self.x+1
#            continue


    def database_setup(self):
        print("Database Setup")
        global conn, conn2
        self.x == 0
        conn = self.create_connection(self.dec_database)
        conn2 = self.create_connection2(self.my_database)
        cur = conn.cursor()
        cur2 = conn2.cursor()
        try:
            with conn:
                while self.x < 9:
                    cur.execute("SELECT * FROM '" + self.dec_table_list[self.x] + "'")
                    print("Working on " + self.dec_table_list[self.x])
                    rows = cur.fetchall()
                    for row in rows:
                        uri = str(row[0])
                        dec = row[3]
                        with conn2:
                            cur2.execute("SELECT URI FROM Track_List WHERE URI = '" + uri + "'")
                            cur_result = str(cur2.fetchone())
                            if cur2.fetchone == None:
                                File_object = open(self.here_i_am + r"\\Not Present.txt", "a")
                                File_object.writelines(["URI " + str(uri) + " No Entries In MyFeed Database \n"])
                                File_object.close()
                            else:
                                cur2.execute("UPDATE Track_List SET DECADE = '" + str(dec) + "'WHERE URI='" + uri + "'")
                                conn2.commit()
                            continue
                    self.x = self.x + 1
        except Error as e2:
            print("database_setup")
            print(e2)
        return


    def create_connection(self, db_file):  # NOTE Create a database connection
        print("conn 1")
        conn = None
        try:
            conn = sqlite3.connect(db_file)
            return conn
        except Error as e1:
            print("Create_Connection")
            print(e1)
        return conn

    def create_connection2(self, db_file2):  # NOTE Create a database connection
        print("conn 2")
        conn2 = None
        try:
            conn2 = sqlite3.connect(db_file2)
            return conn2
        except Error as e1:
            print("Create_Connection")
            print(e1)
        return conn2
#                cur.execute(
#                    "CREATE TABLE IF NOT EXISTS Last_Run_Deletions (URI text PRIMARY KEY, TRACK_NAME text, ARTIST_NAME text, ALBUM_NAME text);")
#                conn.commit()


a = getdec()
a.get_the_numbers()