-
Notifications
You must be signed in to change notification settings - Fork 0
/
ingredient.py
132 lines (97 loc) · 3.91 KB
/
ingredient.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
class Ingredient(object):
"""All data concerning an ingredient, it's copy of Excel ingredient"""
def __init__(self):
self.__nom = ""
self.__numero = 0
self.__calories = 0
self.__carbo = 0
self.__proteine = 0
self.__lipide = 0
self.__fibre = 0
self.__sodium = 0
self.__sature = 0
def __str__(self):
oValue = "nom " + self.nom
oValue += " numero " + str(self.numero)
oValue += " calories " + str(self.calories)
oValue += " carbo " + str(self.carbo)
oValue += " proteine " + str(self.proteine)
oValue += " lipide " + str(self.lipide)
oValue += " fibre " + str(self.fibre)
oValue += " sodium " + str(self.sodium)
oValue += " sature " + str(self.sature)
return oValue
def get_nom(self):
return self.__nom
def get_numero(self):
return self.__numero
def get_calories(self):
return self.__calories
def get_carbo(self):
return self.__carbo
def get_proteine(self):
return self.__proteine
def get_lipide(self):
return self.__lipide
def get_fibre(self):
return self.__fibre
def get_sodium(self):
return self.__sodium
def get_sature(self):
return self.__sature
def convertToFloat(self, ioValue):
try : ioValue = float(ioValue)
except: ioValue=0
return ioValue
def set_nom(self, value):
self.__nom = value
def set_numero(self, value):
value = int(float(value))
self.__numero = value
def set_calories(self, value):
self.__calories = self.convertToFloat(value)
def set_carbo(self, value):
self.__carbo = self.convertToFloat(value)
def set_proteine(self, value):
self.__proteine = self.convertToFloat(value)
def set_lipide(self, value):
self.__lipide = self.convertToFloat(value)
def set_fibre(self, value):
self.__fibre = self.convertToFloat(value)
def set_sodium(self, value):
self.__sodium = self.convertToFloat(value)
def set_sature(self, value):
self.__sature = self.convertToFloat(value)
nom = property(get_nom, set_nom, "nom's docstring")
numero = property(get_numero, set_numero, "numero's docstring")
calories = property(get_calories, set_calories, "calories' docstring")
carbo = property(get_carbo, set_carbo, "carbo's docstring")
proteine = property(get_proteine, set_proteine, "proteine's docstring")
lipide = property(get_lipide, set_lipide, "lipide's docstring")
fibre = property(get_fibre, set_fibre, "fibre's docstring")
sodium = property(get_sodium, set_sodium, "sodium's docstring")
sature = property(get_sature, set_sature, "sature's docstring")
class IngredientRecette:
"""Represente the ingredient used in one recipe"""
def __init__(self, iPoids, iIngredient):
self.__poids = iPoids # Weight of one ingredient in one recipe
self.__ingredient = iIngredient # Ingredient concerned
def getCarbo(self):
return (self.__ingredient.carbo * self.getPoids())/100
def getProteine(self):
return (self.__ingredient.proteine * self.getPoids())/100
def getLipide(self):
return (self.__ingredient.lipide * self.getPoids())/100
def getFibre(self):
return (self.__ingredient.fibre * self.getPoids())/100
def getSodium(self):
return (self.__ingredient.sodium * self.getPoids())/100
def getSature(self):
return (self.__ingredient.sature * self.getPoids())/100
def getCalories(self):
return (self.__ingredient.calories * self.__poids)/100
def getPoids(self):
return self.__poids
def __str__(self):
oValue = str(self.__ingredient.numero) + " " + str(self.__poids) + " " + str(self.getCalories())
return oValue