コード例 #1
0
ファイル: controller.py プロジェクト: karacho84/dinnerlog
    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)
コード例 #2
0
ファイル: controller.py プロジェクト: karacho84/dinnerlog
 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")
コード例 #3
0
ファイル: controller.py プロジェクト: karacho84/dinnerlog
    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")
コード例 #4
0
ファイル: dbacccess.py プロジェクト: karacho84/dinnerlog
 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
コード例 #5
0
ファイル: controller.py プロジェクト: karacho84/dinnerlog
 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)
コード例 #6
0
ファイル: controller.py プロジェクト: karacho84/dinnerlog
 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)
コード例 #7
0
ファイル: controller.py プロジェクト: karacho84/dinnerlog
 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)
コード例 #8
0
ファイル: controller.py プロジェクト: karacho84/dinnerlog
 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)
コード例 #9
0
ファイル: controller.py プロジェクト: karacho84/dinnerlog
 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)