import json
import os

class LocalDB:
    def __init__ (self,cesta):
        self.cesta = cesta
        self.data = []
        if os.path.isfile(self.cesta):
            self._nacist()
        else:
            self._ulozit()


    ### _ulozit a _nacist bych neměla volat s jiného souboru
    def _ulozit(self):
        # w = write
        file_pointer = open(self.cesta, 'w')
        json.dump(self.data, file_pointer)
        file_pointer.close()
    def _nacist(self):
        # r = read
        file_pointer = open(self.cesta, 'r')
        self.data=json.load(file_pointer)
        file_pointer.close()
    def nacist(self):
        self._nacist()
        return self.data
    def vyberID(self):
        """"
        chci aby mi to vrátilo následující ID klienta na základě posledního ID, který se bude vytvářet
        """
        muj_list_ID = []
        for uzivatel in self.data:
            muj_list_ID.append(uzivatel["ID"])
        if not muj_list_ID:
            return 1
        return max(muj_list_ID) + 1

    def ziskejID(self, jmeno, prijmeni):
        """
        chci aby mi to místo jména klienta vrátilo jeho ID
        """
        for klient in self.data:
            if klient['jmeno'] == jmeno and klient['prijmeni'] == prijmeni:
                return klient['ID']

    def pridat_klienta(self, jmeno, prijmeni, pohlavi, fakulta, ID):
        """
        uloží mi to data z registrace do mé databáze
        """
        ### kdyz dam self.data je mozne sdileni mezi metodami když dam jen uzivatel, pracuji s tim jen v te jedne funkci
        uzivatel = {
            'jmeno' : jmeno,
            'prijmeni' : prijmeni,
            'pohlavi' : pohlavi,
            'fakulta' : fakulta,
            'ID' : ID
        }
        self.data.append(uzivatel)
        self._ulozit()





data = [{
    'jmeno',
    'prijmeni',
    'pohlavi',
    'fakulta',
    'ID',
}]