def __mahlzeitAlsZutat(self): """Eine Mahlzeit als Zutat in die DB einfuegen. Berechnet die Naehrwerte pro 100 und fuegt die Mahlzeit als Zutat in die DB ein. """ name = self.__gui.en_name.get() if name: mahlzeit_neu = Mahlzeit(name, {}) mahlzeit_neu.addZutatenMitMenge(self.__data_zutaten_mahlzeit) gesamt_fett = 0 gesamt_eiweiss = 0 gesamt_kh = 0 gesamt_menge = 0 for zutat, menge in mahlzeit_neu.zutaten.items(): gesamt_fett += zutat.fett * menge / 100 gesamt_eiweiss += zutat.eiweiss * menge / 100 gesamt_kh += zutat.kh * menge / 100 gesamt_menge += menge zutat_neu = Zutat(mahlzeit_neu.name, gesamt_fett / gesamt_menge * 100, gesamt_eiweiss / gesamt_menge * 100, gesamt_kh / gesamt_menge * 100) self.__dba.insertZutat(zutat_neu)
def __mahlzeitHinzu(self): # Alle Felder auslesen und einen # neuen Datenbankeintrag anlegen name = self.__gui.en_name.get() if name: mahlzeit_neu = Mahlzeit(name, {}) mahlzeit_neu.addZutatenMitMenge(self.__data_zutaten_mahlzeit) self.__dba.insertMahlzeit(mahlzeit_neu) else: print("Verweigere mich eine Mahlzeit ohne Name hinzuzufuegen")
def getMahlzeiten(self): """Liefert alle Mahlzeiten mit Zutaten zurueck""" # Eine Mahlzeit besteht aus einem Namen und einem # Dictionary bestehend aus Zutat und Menge der Zutat mahlzeiten = [] # Mit der Datenbank verbinden conn = sqlite3.connect(self.__dbname) # Einen cursor holen c = conn.cursor() # Die Tabelle Mahlzeit durchsuchen und fuer alle Mahlzeiten # die Menge der Zutaten aus der Tabelle menge abrufen, # Sowie die Kalorien aus der Tabelle zutaten c.execute("SELECT id, name, angelegt FROM mahlzeiten;") for mahlzeit in c: # Zweiten cursor fuer Zutaten holen c2 = conn.cursor() c2.execute("SELECT zutat_name, menge FROM mengen WHERE mahlzeit_id = ?;", (mahlzeit[0],)) mahlzeit_hinzu = Mahlzeit(mahlzeit[1], {}, mahlzeit[2]) # kcal holen for menge in c2: # Dritten cursor holen c3 = conn.cursor() c3.execute("SELECT fett, eiweiss, kh FROM zutaten WHERE name = ?;", (menge[0],)) # kcal aus Ergenis holen zutat_result = c3.fetchone() if zutat_result: mahlzeit_hinzu.zutaten[Zutat(menge[0], zutat_result[0], zutat_result[1], zutat_result[2])] = menge[1] mahlzeiten.append(mahlzeit_hinzu) # Verbindung schliessen conn.close() return mahlzeiten
def __mahlzeitAlsZutat(self): """Eine Mahlzeit als Zutat in die DB einfuegen. Berechnet die Naehrwerte pro 100 und fuegt die Mahlzeit als Zutat in die DB ein. """ name = self.__gui.en_name.get() if name: mahlzeit_neu = Mahlzeit(name, {}) mahlzeit_neu.addZutatenMitMenge(self.__data_zutaten_mahlzeit) gesamt_fett = 0 gesamt_eiweiss = 0 gesamt_kh = 0 gesamt_menge = 0 for zutat, menge in mahlzeit_neu.zutaten.items(): gesamt_fett += zutat.fett*menge/100; gesamt_eiweiss += zutat.eiweiss*menge/100; gesamt_kh += zutat.kh*menge/100; gesamt_menge+=menge zutat_neu = Zutat(mahlzeit_neu.name, gesamt_fett/gesamt_menge*100, gesamt_eiweiss/gesamt_menge*100, gesamt_kh/gesamt_menge*100) self.__dba.insertZutat(zutat_neu)
def __mahlzeitDelete(self): if self._hiddenName and self._hiddenAngelegt: mahlzeit_del = Mahlzeit(self._hiddenName, {}, self._hiddenAngelegt) mahlzeit_del.addZutatenMitMenge(self.__data_zutaten_mahlzeit) self.__dba.deleteMahlzeit(mahlzeit_del)
def __mahlzeitUpdate(self): if self._hiddenName and self._hiddenAngelegt: mahlzeit_neu = Mahlzeit(self._hiddenName, {}, self._hiddenAngelegt) mahlzeit_neu.addZutatenMitMenge(self.__data_zutaten_mahlzeit) self.__dba.updateMahlzeit(mahlzeit_neu)