import gspread
from oauth2client.service_account import ServiceAccountCredentials


class DB:
    def __init__(self, secret_file_path, spread_sheet):
        """
        Krátký popis funkce

        Params:
            secret_file_path: cesta k souboru s přihlašovacími údaji
            spread_sheet: název souboru google drive
        """
        # use creds to create a client to interact with the Google Drive API
        scope = ['https://spreadsheets.google.com/feeds',
                 'https://www.googleapis.com/auth/drive']
        creds = ServiceAccountCredentials.from_json_keyfile_name(secret_file_path, scope)
        self.client = gspread.authorize(creds)
        # tady dat stejne jmeno jako nayev souboru
        self.sheet = self.client.open(spread_sheet).sheet1
        print("přihlášeno")
    def nacist(self):
        """
        Napovedd
        datum: vypíšu datum, z tabulky na řádku xy
        """

        uzivatele = []
        for uzivatel in self.sheet.get_all_values()[1:]:
            try:
                uzivatele.append({
                    'datum': uzivatel[0],
                    'ID':int(uzivatel[1]),
                    'pohlavi':uzivatel[2],
                    'psychika': int(uzivatel[3]),
                    'pozornost': float(uzivatel[4]),
                    'pamet': int(uzivatel[5]),
                    'nalada': int(uzivatel[6]),
                    'stabilita': int(uzivatel[7]),
                    'suicidalni myslenky': int(uzivatel[8]),
                    'spanek': int(uzivatel[9]),
                    'uzkost': int(uzivatel[10]),
                    'skola pamet': int(uzivatel[11]),
                    'soustredeni': int(uzivatel[12]),
                    'orientace': int(uzivatel[13]),
                    'narocnost': int(uzivatel[14]),
                    'kolektiv': int(uzivatel[15])
                })
            except ValueError:
                print('stala se chyba' + str(uzivatel))



        return uzivatele




    def uzivatel(self, userID, parametry):
        """
        :param userID: jmeno uzivatele
        :param parametry: definuji proměnnou na kterou se ptám (deprese, úzkost...)
        """
        seznam=[]

        for uzivatel in self.nacist():
            if userID == uzivatel["ID"]:
                seznam.append(uzivatel[parametry])
        return seznam







# Find a workbook by name and open the first sheet
# Make sure you use the right name here.

