class Uporabnik(Ekol): ''' Ekol za uporabnike. ''' ime = "uporabnik" def ustvari(self): ''' Ustvari tabelo uporabnik. ''' self.conn.execute(''' CREATE TABLE uporabnik ( id INTEGER PRIMARY KEY AUTOINCREMENT, ime TEXT NOT NULL UNIQUE, zgostitev TEXT NOT NULL, sol TEXT NOT NULL ) ''') def dodaj_vrstico(self, /, **podatki): ''' Dodaj uporabnika. Če sol ni podana, zašifrira podano geslo. Argumenti: - poimenovani parametri: vrednosti v ustreznih stolpcih ''' if podatki.get("sol", None) is None and podatki.get("zgostitev", None) is not None: podatki["zgostitev"], podatki["sol"] = sifriraj_geslo(podatki["zgostitev"]) return super().dodaj_vrstico(**podatki)
def dodaj_v_bazo(self, geslo): """ V bazo doda uporabnika s podanim geslom. """ assert self.id is None zgostitev, sol = sifriraj_geslo(geslo) with conn: self.id = uporabnik.dodaj_vrstico([self.ime, zgostitev, sol], self.insert)
def dodaj_vrstico(self, **podatki): """ Dodaj uporabnika. Če sol ni podana, zašifrira podano geslo. Argumenti: - poimenovani parametri: vrednosti v ustreznih stolpcih """ if podatki.get("sol", None) is None and podatki.get("zgostitev", None) is not None: podatki["zgostitev"], podatki["sol"] = sifriraj_geslo(podatki["zgostitev"]) return super().dodaj_vrstico(**podatki)
def dodaj_vrstico(self, podatki, poizvedba=None, zgostitev=None, sol=None): """ Dodaj uporabnika. Če sol ni podana, zašifrira podano geslo. """ if sol is not None and zgostitev is not None and podatki[sol] is None: podatki[zgostitev], podatki[sol] = sifriraj_geslo( podatki[zgostitev]) return super().dodaj_vrstico(podatki, poizvedba)
def dodaj_v_bazo(self, geslo): """ V bazo doda uporabnika s podanim geslom. """ assert self.id is None zgostitev, sol = sifriraj_geslo(geslo) try: with conn: self.id = uporabnik.dodaj_vrstico(ime=self.ime, zgostitev=zgostitev, sol=sol) except IntegrityError: raise LoginError(self.ime)