From 02b0de2d673f45ea2b820b99783f43ff54687012 Mon Sep 17 00:00:00 2001 From: Stefanie Nobel Date: Wed, 05 Oct 2011 10:00:23 +0000 Subject: Added log-function to log date and time of eating-, sparetime- or database-actions --- diff --git a/DATABASE3 b/DATABASE3 deleted file mode 100644 index 35207cb..0000000 --- a/DATABASE3 +++ /dev/null Binary files differ diff --git a/activity/activity.info b/activity/activity.info index 3ffc4c1..912a9bf 100755 --- a/activity/activity.info +++ b/activity/activity.info @@ -2,10 +2,6 @@ name = NutrinoWeb activity_version = 1 service_name = org.laptop.NutrinoWebActivity -<<<<<<< HEAD -icon = activity-NutriWeb -======= icon = activity-nutrinoweb ->>>>>>> b1db04eb335745ba1261e18bbf0602ab9740ab4f class = nutrinoweb.activity.NutrinoWebActivity license = gplv3 diff --git a/files/dbinput.txt b/files/dbinput.txt deleted file mode 100755 index 1e53b29..0000000 --- a/files/dbinput.txt +++ /dev/null @@ -1,27 +0,0 @@ -BUTTER WITH SALT|15.87|0.06|24|0.02|2|24|24|714|0.09|0|0|0.005|0.034|0.042|0.11|0.003|3|0.17|684|2.32|1.5|0.85|0|rack -CHEESE CHEDDAR|36.75|0.52|721|0.68|28|512|98|621|3.11|0.031|0|0.027|0.375|0.08|0.413|0.074|18|0.83|265|0.29|0.6|24.9|0|rack -CREAM|80.57|0.16|105|0.07|10|95|130|41|0.51|0.01|0.9|0.035|0.149|0.078|0.289|0.039|3|0.33|97|0.33|0.2|2.96|0|fridge -MILK|87.67|0|128|0.05|13|97|139|57|0.36|0.01|0.9|0.03|0.123|0.087|0.301|0.04|5|0.34|2|0|0|3.33|0|fridge -YOGURT|87.9|4.66|121|0.05|12|95|155|46|0.59|0.009|0.5|0.029|0.142|0.075|0.389|0.032|7|0.37|27|0.06|0.1|3.47|0|fridge -OMELET|76.13|0.31|48|1.48|11|167|117|155|1.09|0.063|0|0.034|0.386|0.064|1.289|0.143|39|0.76|172|1.29|1.7|10.57|0|fridge -SALAD DRSNG. FRENCH|54.28|16.86|11|0.73|8|16|107|838|0.2|0.16|4.8|0.024|0.052|0.467|0|0.055|2|0|27|1|0|0.58|0|rack -OIL|0|0|1|0.56|0|0|1|2|0|0|0|0|0|0|0|0|0|0|0|14.35|0|0|0|rack -CHICKEN|52.41|0|17|1.38|25|191|234|84|2.04|0.075|0|0.087|0.193|8.992|1.079|0.41|9|0.31|27|0.63|0.1|28.56|0|meatcounter -TURKEY|70.61|0|15|1.69|22|180|269|67|2.31|0.114|0.2|0.065|0.203|4.148|0.953|0.41|23|1.62|102|0|0|20.37|0|meatcounter -SOUP TURKEY NOODLES|86.37|0.41|9|0.75|4|38|60|650|0.46|0.1|0.1|0.059|0.051|1.112|0.14|0.03|15|0.13|13|0.14|0|3.11|0|rack -SAUSAGE PORK|56.11|0.11|57|0.73|13|178|206|848|2.25|0.07|0|0.249|0.16|2.9|0.76|0.13|3|1.73|0|0|0.3|12.89|0|meatcounter -KELLOGG'S CORN FLAKES|3.76|10.5|4|29|9|37|79|723|0.18|0.108|22|2.13|2.64|24.4|0.079|3.44|480|9.47|456|0.13|3.6|6.61|0|rack -MELONS HONEY|89.82|8.12|6|0.17|10|11|228|18|0.09|0.024|18|0.038|0.012|0.418|0.155|0.088|19|0|3|0.02|0|0.54|0|fruits -ORANGES|86.75|9.35|40|0.1|10|14|181|0|0.07|0.045|53.2|0.087|0.04|0.282|0.25|0.06|30|0|11|0.18|0|0.94|0|fruits -BLUEBERRIES|70.63|19.28|19|2.2|6|14|46|1|0.12|0|0.3|0.033|0.313|0.469|0.041|0.035|8|0|0|0|0|0.56|0|fruits -PINEAPPLE|83.51|14.26|16|0.28|15|7|124|1|0.1|0.107|9.4|0.102|0.021|0.284|0|0.075|5|0|3|0.02|0|0.51|0|fruits -APRICOTS|77.56|18.65|10|0.3|7|13|143|4|0.11|0.097|3.1|0.021|0.024|0.376|0|0.055|2|0|146|0.89|0|0.64|0|fruits -CHERRIES|77.61|16.18|10|0.35|9|20|148|3|0.1|0.176|3.6|0.022|0.043|0.396|0.06|0.022|5|0|12|0.17|0|0.73|0|fruits -PEACHES|80.62|14.66|3|0.27|5|12|94|6|0.09|0.063|0.7|0.02|0.02|0.625|0.024|0.013|9|0|31|1.19|0|0.52|0|fruits -PORK|74.31|0|14|1.2|22|202|339|65|3.36|0.102|0|0.558|0.384|4.387|1.567|0.521|0|0.91|0|0.24|0.6|18.73|0|meatcounter -POTATO PANCAKES|47.77|1.79|32|1.67|36|128|622|764|0.7|0.18|27.6|0.158|0.173|1.672|0.757|0.448|41|0.29|32|0.23|0.3|6.08|0|fridge -ARTICHOKES|84.08|0.99|21|0.61|42|73|286|60|0.4|0.127|7.4|0.05|0.089|1.11|0.24|0.081|89|0|1|0.19|0|2.89|0|fruits -COCONUT MEAT|46.99|6.23|14|2.43|32|113|356|20|1.1|0.435|3.3|0.066|0.02|0.54|0.3|0.054|26|0|0|0.24|0|3.33|0|fruits -BEEF|58.1|0|11|2.7|19|168|429|1439|3.98|0.034|0|0.08|0.19|5.27|0.59|0.34|11|2.57|0|0|0.1|28.11|0|meatcounter -BREAD|64.9|3.92|26|0.94|13|34|62|455|0.23|0.069|0.8|0.117|0.092|1.247|0.06|0.038|97|0.01|78|0.85|0|2.9|0|rack -WATER|640.9|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|rack \ No newline at end of file diff --git a/files/dbinputsparetime.txt b/files/dbinputsparetime.txt index 35ebfe5..5353cf6 100755 --- a/files/dbinputsparetime.txt +++ b/files/dbinputsparetime.txt @@ -1,5 +1,7 @@ -Swimming|3.3|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -COOKING|3.3|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -READING|3.3|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -SOCCER|3.3|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 -SLEEPING|3.3|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +Swimming|13.33|3.33|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +Hacking|1.67|0.417|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +Presenting|45.25|0.3125|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +Soccer|13.33|3.33|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +Sleeping|0.83|0.208|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +Walking|2.5|0.625|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 +Tennis|6.67|1.67|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0 \ No newline at end of file diff --git a/nutrinoweb/controllers/Avatar.py b/nutrinoweb/controllers/Avatar.py index a804218..79c610a 100644 --- a/nutrinoweb/controllers/Avatar.py +++ b/nutrinoweb/controllers/Avatar.py @@ -19,167 +19,132 @@ DATA_STATUS = os.path.join(DATA, 'status.json') # .. storage.check_file(DATA_STATUS) -class Character: - - def __init__(self): - self.water = 0.0 - self.energie = 0.0 - self.calcium = 0.0 - self.iron = 0.0 - self.magnesium = 0.0 - self.phosphorus = 0.0 - self.potassium = 0.0 - self.sodium = 0.0 - self.zinc = 0.0 - self.copper = 0.0 - self.vit_c = 0.0 - self.thiamin = 0.0 - self.riboflavin = 0.0 - self.niacin = 0.0 - self.panto_acid = 0.0 - self.vit_b6 = 0.0 - self.folate_tot = 0.0 - self.vit_b12 = 0.0 - self.vit_a = 0.0 - self.vit_e = 0.0 - self.vit_d = 0.0 - self.vit_total = 0.0 - self.construction = 0.0 +class Character(object): + + def __init__(self, water, energie, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d, vit_total, construction, time, position): + self.Water = water + self.Energie = energie + self.Calcium = calcium + self.Iron = iron + self.Magnesium = magnesium + self.Phosphorus = phosphorus + self.Potassium = potassium + self.Sodium = sodium + self.Zinc = zinc + self.Copper = copper + self.Vit_c = vit_c + self.Thiamin = thiamin + self.Riboflavin = riboflavin + self.Niacin = niacin + self.Panto_acid = panto_acid + self.Vit_b6 = vit_b6 + self.Folate_tot = folate_tot + self.Vit_b12 = vit_b12 + self.Vit_a = vit_a + self.Vit_e = vit_e + self.Vit_d = vit_d + self.Vit_total = vit_total + self.Construction = construction + self.Time = time + self.Position = position def load_status(self): fh = open(DATA_STATUS,'r') status = json.load(fh) + + self.Water = float(status['water']) + self.Energie = float(status['energie']) + self.Calcium = float(status['calcium']) + self.Iron = float(status['iron']) + self.Magnesium = float(status['magnesium']) + self.Phosphorus = float(status['phosphorus']) + self.Potassium = float(status['potassium']) + self.Sodium = float(status['sodium']) + self.Zinc = float(status['zinc']) + self.Copper = float(status['copper']) + self.Vit_c = float(status['vit_c']) + self.Thiamin = float(status['thiamin']) + self.Riboflavin = float(status['riboflavin']) + self.Niacin = float(status['niacin']) + self.Panto_acid = float(status['panto_acid']) + self.Vit_b6 = float(status['vit_b6']) + self.Folate_tot = float(status['folate_tot']) + self.Vit_b12 = float(status['vit_b12']) + self.Vit_a = float(status['vit_a']) + self.Vit_e = float(status['vit_e']) + self.Vit_d = float(status['vit_d']) + self.Vit_total = float(status['vit_total']) + self.Construction = float(status['construction']) + self.Time = float(status['time']) + self.Position = status['position'] + fh.close() return status - def load_status1(self): - - fobj = open(DATA_STATUS) - - zuordnung = fobj.read().split("|") - - # little check - TODO nicer check - if len(zuordnung) < 23: - pass - else: - # OK! - self.water = zuordnung[1] - self.energie = zuordnung[2] - self.calcium = zuordnung[3] - self.iron =zuordnung[4] - self.magnesium = zuordnung[5] - self.phosphorus = zuordnung[6] - self.potassium = zuordnung[7] - self.sodium = zuordnung[8] - self.zinc = zuordnung[9] - self.copper = zuordnung[10] - self.vit_c = zuordnung[11] - self.thiamin = zuordnung[12] - self.riboflavin = zuordnung[13] - self.niacin =zuordnung[14] - self.panto_acid = zuordnung[15] - self.vit_b6 = zuordnung[16] - self.folate_tot = zuordnung[17] - self.vit_b12 = zuordnung[18] - self.vit_a = zuordnung[19] - self.vit_e = zuordnung[20] - self.vit_d = zuordnung[21] - self.vit_total = zuordnung[22] - self.construction = zuordnung[23] - - def save_status(self, status): + def save_status(self): fh = open(DATA_STATUS,'w') + + status = { + "water": self.Water, + "energie": self.Energie, + "calcium": self.Calcium, + "iron" : self.Iron, + "magnesium": self.Magnesium, + "phosphorus": self.Phosphorus, + "potassium": self.Potassium, + "sodium": self.Sodium, + "zinc": self.Zinc, + "copper": self.Copper, + "vit_c": self.Vit_c, + "thiamin": self.Thiamin, + "riboflavin": self.Riboflavin, + "niacin": self.Niacin, + "panto_acid": self.Panto_acid, + "vit_b6": self.Vit_b6, + "folate_tot": self.Folate_tot, + "vit_b12": self.Vit_b12, + "vit_a": self.Vit_a, + "vit_e": self.Vit_e, + "vit_d": self.Vit_d, + "vit_total": self.Vit_total, + "construction": self.Construction, + "time": self.Time, + "position": self.Position + } json.dump(status,fh) fh.close() - def reset_status2(self): + def reset_status(self): status = { - "water": 0, - "energie": 0, - "calcium": 0, - "iron" : 0, - "magnesium": 0, - "phosphorus": 0, - "potassium": 0, - "sodium": 0, - "zinc": 0, - "copper": 0, - "vit_c": 0, - "thiamin": 0, - "riboflavin": 0, - "niacin": 0, - "panto_acid": 0, - "vit_b6": 0, - "folate_tot": 0, - "vit_b12": 0, - "vit_a": 0, - "vit_e": 0, - "vit_d": 0, - "vit_total": 0, - "construction": 0 + "water": self.Water, + "energie": self.Energie, + "calcium": self.Calcium, + "iron" : self.Iron, + "magnesium": self.Magnesium, + "phosphorus": self.Phosphorus, + "potassium": self.Potassium, + "sodium": self.Sodium, + "zinc": self.Zinc, + "copper": self.Copper, + "vit_c": self.Vit_c, + "thiamin": self.Thiamin, + "riboflavin": self.Riboflavin, + "niacin": self.Niacin, + "panto_acid": self.Panto_acid, + "vit_b6": self.Vit_b6, + "folate_tot": self.Folate_tot, + "vit_b12": self.Vit_b12, + "vit_a": self.Vit_a, + "vit_e": self.Vit_e, + "vit_d": self.Vit_d, + "vit_total": self.Vit_total, + "construction": self.Construction, + "time": self.Time, + "position": self.Position } - fh = open(temp_json,'w') + fh = open(DATA_STATUS,'w') json.dump(status,fh) fh.close() - status = { - "water": self.water, - "energie": self.energie, - "calcium": self.calcium, - "iron" : self.iron, - "magnesium": self.magnesium, - "phosphorus": self.phosphorus, - "potassium": self.potassium, - "sodium": self.sodium, - "zinc": self.zinc, - "copper": self.copper, - "vit_c": self.vit_c, - "thiamin": self.thiamin, - "riboflavin": self.riboflavin, - "niacin": self.niacin, - "panto_acid": self.panto_acid, - "vit_b6": self.vit_b6, - "folate_tot": self.folate_tot, - "vit_b12": self.vit_b12, - "vit_a": self.vit_a, - "vit_e": self.vit_e, - "vit_d": self.vit_d, - "vit_total": self.vit_total, - "construction": self.construction - } return status - - def save_status1(self, water, energie, calcium, iron, magnesium, phosphorus, - potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, - niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, - vit_d, vit_total, construction): - fobj = open(DATA_STATUS, 'wb') - fobj.truncate() - fobj.write( - '|' + water - + '|' + energie - + '|' + calcium - + '|' + iron - + '|' + magnesium - + '|' + phosphorus - + '|' + potassium - + '|' + sodium - + '|' + zinc - + '|' + copper - + '|' + vit_c - + '|' + thiamin - + '|' + riboflavin - + '|' + niacin - + '|' + panto_acid - + '|' + vit_b6 - + '|' + folate_tot - + '|' + vit_b12 - + '|' + vit_a - + '|' + vit_e - + '|' + vit_d - + '|' + vit_total - + '|' + construction - ) - fobj.close() - diff --git a/nutrinoweb/controllers/addentry.py b/nutrinoweb/controllers/addentry.py index 7060ba6..1af6e8a 100644 --- a/nutrinoweb/controllers/addentry.py +++ b/nutrinoweb/controllers/addentry.py @@ -24,14 +24,15 @@ def addentry(): elif 'delete' in request.form: database_manager.delete_entry(request.form['database']) elif 'show' in request.form: - _entry = database_manager.show_entry(request.form['database']) + name = request.form['title'] + _entry = database_manager.show_entry(request.form['database'], name) elif 'modify' in request.form: database_manager.delete_entry(request.form['database']) database_manager.add_entry(request.form['database']) if request.form['database'] == 'nutrition': - _result = database_manager.entries() + _result = database_manager.entries() elif request.form['database'] == 'activity': - _result = database_manager.entriessparetime() + _result = database_manager.entriessparetime() database = request.form['database'] # GET else: diff --git a/nutrinoweb/controllers/database_manager.py b/nutrinoweb/controllers/database_manager.py index c2e7618..d3128ee 100644 --- a/nutrinoweb/controllers/database_manager.py +++ b/nutrinoweb/controllers/database_manager.py @@ -5,7 +5,7 @@ from flask import Flask, request, session, g, redirect, url_for, abort, \ render_template, flash # python import -import os, re +import os, re, time # server import from server.tools import storage @@ -26,16 +26,18 @@ DATABASE3 = os.path.join(DATA, 'aliments.db') # SCHEMA paths SCHEMA1 = os.path.join(SCHEMA, 'schema1.sql') SCHEMA2 = os.path.join(SCHEMA, 'schema2.sql') +SCHEMA3 = os.path.join(SCHEMA, 'schema3.sql') # FILE paths -FILE_DINPUT = os.path.join(FILES, 'dbinput.txt') +FILE_NINPUT = os.path.join(FILES, 'dbinputnutrition.txt') FILE_SPARTI = os.path.join(FILES, 'dbinputsparetime.txt') # .. DATA_ALIMTS = os.path.join(DATA, 'aliments.txt') DATA_STATUS = os.path.join(DATA, 'status.txt') +DATA_LOG = os.path.join(DATA, 'log.txt') # ensure FILES -storage.check_file(FILE_DINPUT) +storage.check_file(FILE_NINPUT) storage.check_file(FILE_SPARTI) # .. storage.check_file(DATA_ALIMTS) @@ -81,7 +83,7 @@ def init_db(database): db.commit() elif database == 'activity': with closing(connect_db('activity')) as db: - with app.open_resource(SCHEMA1) as f: + with app.open_resource(SCHEMA3) as f: db.cursor().executescript(f.read()) db.commit() @@ -94,18 +96,18 @@ def load_inputfileactivities(): for line in fobj: zuordnung = line.split("|") - g.db.execute('insert into entries (title, water, energie, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d, protein) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)', [zuordnung[0], zuordnung[1], zuordnung[2], zuordnung[3], zuordnung[4], zuordnung[5], zuordnung[6], zuordnung[7], zuordnung[8], zuordnung[9], zuordnung[10], zuordnung[11], zuordnung[12], zuordnung[13], zuordnung[14], zuordnung[15], zuordnung[16], zuordnung[17], zuordnung[18], zuordnung[19], zuordnung[20], zuordnung[21], zuordnung[22]]) + g.db.execute('insert into activities (title, water, energie, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d, protein) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)', [zuordnung[0], zuordnung[1], zuordnung[2], zuordnung[3], zuordnung[4], zuordnung[5], zuordnung[6], zuordnung[7], zuordnung[8], zuordnung[9], zuordnung[10], zuordnung[11], zuordnung[12], zuordnung[13], zuordnung[14], zuordnung[15], zuordnung[16], zuordnung[17], zuordnung[18], zuordnung[19], zuordnung[20], zuordnung[21], zuordnung[22]]) g.db.commit() fobj.close() def load_inputfilenutrition(): g.db = connect_db('nutrition') - fobj = open(FILE_DINPUT) + fobj = open(FILE_NINPUT) for line in fobj: zuordnung = line.split("|") - g.db.execute('insert into entries (title, water, energie, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d, protein, path, scenario) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)', [zuordnung[0], zuordnung[1], zuordnung[2], zuordnung[3], zuordnung[4], zuordnung[5], zuordnung[6], zuordnung[7], zuordnung[8], zuordnung[9], zuordnung[10], zuordnung[11], zuordnung[12], zuordnung[13], zuordnung[14], zuordnung[15], zuordnung[16], zuordnung[17], zuordnung[18], zuordnung[19], zuordnung[20], zuordnung[21], zuordnung[22], zuordnung[23], zuordnung[24]]) + g.db.execute('insert into entries (title, water, energie, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d, protein, path, scenario, tablealiment, serving) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)', [zuordnung[0], zuordnung[1], zuordnung[2], zuordnung[3], zuordnung[4], zuordnung[5], zuordnung[6], zuordnung[7], zuordnung[8], zuordnung[9], zuordnung[10], zuordnung[11], zuordnung[12], zuordnung[13], zuordnung[14], zuordnung[15], zuordnung[16], zuordnung[17], zuordnung[18], zuordnung[19], zuordnung[20], zuordnung[21], zuordnung[22], zuordnung[23], zuordnung[24], 'no', zuordnung[25]]) g.db.commit() fobj.close() @@ -113,15 +115,15 @@ def entries(): """Make sure we are connected to the database.""" g.db = connect_db('nutrition') # TODO - check the table exist or create it - cur = g.db.execute('select title, water, energie, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d, protein, scenario from entries order by id desc') - entries = [dict(title=row[0], water=row[1], energie=row[2], calcium=row[3], iron=row[4], magnesium=row[5], phosphorus=row[6], potassium=row[7], sodium=row[8], zinc=row[9], copper=row[10], vit_c=row[11], thiamin=row[12], riboflavin=row[13], niacin=row[14], panto_acid=row[15], vit_b6=row[16], folate_tot=row[17], vit_b12=row[18], vit_a=row[19], vit_e=row[20], vit_d=row[21], protein=row[22], scenario=row[23] ) for row in cur.fetchall()] + cur = g.db.execute('select title, water, energie, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d, protein, scenario, serving from entries order by id desc') + entries = [dict(title=row[0], water=row[1], energie=row[2], calcium=row[3], iron=row[4], magnesium=row[5], phosphorus=row[6], potassium=row[7], sodium=row[8], zinc=row[9], copper=row[10], vit_c=row[11], thiamin=row[12], riboflavin=row[13], niacin=row[14], panto_acid=row[15], vit_b6=row[16], folate_tot=row[17], vit_b12=row[18], vit_a=row[19], vit_e=row[20], vit_d=row[21], protein=row[22], scenario=row[23], serving=row[24] ) for row in cur.fetchall()] return entries def entriessparetime(): """Make sure we are connected to the database.""" g.db = connect_db('activity') # TODO - check the table exist or create it - cur = g.db.execute('select title, water, energie, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d, protein from entries order by id desc') + cur = g.db.execute('select title, water, energie, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d, protein from activities order by id desc') entries = [dict(title=row[0], water=row[1], energie=row[2], calcium=row[3], iron=row[4], magnesium=row[5], phosphorus=row[6], potassium=row[7], sodium=row[8], zinc=row[9], copper=row[10], vit_c=row[11], thiamin=row[12], riboflavin=row[13], niacin=row[14], panto_acid=row[15], vit_b6=row[16], folate_tot=row[17], vit_b12=row[18], vit_a=row[19], vit_e=row[20], vit_d=row[21], protein=row[22]) for row in cur.fetchall()] return entries @@ -130,33 +132,45 @@ def add_entry(database): g.db = connect_db(database) if database == 'nutrition': - g.db.execute('insert into entries (title, water, energie, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d, protein, scenario) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)', - [request.form['title'].upper(), request.form['water'], request.form['energie'], request.form['calcium'], request.form['iron'], request.form['magnesium'], request.form['phosphorus'], request.form['potassium'], request.form['sodium'], request.form['zinc'], request.form['copper'], request.form['vit_c'], request.form['thiamin'], request.form['riboflavin'], request.form['niacin'], request.form['panto_acid'], request.form['vit_b6'], request.form['folate_tot'], request.form['vit_b12'], request.form['vit_a'], request.form['vit_e'], request.form['vit_d'], request.form['protein'], request.form['scenario']]) + g.db.execute('insert into entries (title, water, energie, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d, protein, scenario, tablealiment, serving) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)', + [request.form['title'].upper(), request.form['water'], request.form['energie'], request.form['calcium'], request.form['iron'], request.form['magnesium'], request.form['phosphorus'], request.form['potassium'], request.form['sodium'], request.form['zinc'], request.form['copper'], request.form['vit_c'], request.form['thiamin'], request.form['riboflavin'], request.form['niacin'], request.form['panto_acid'], request.form['vit_b6'], request.form['folate_tot'], request.form['vit_b12'], request.form['vit_a'], request.form['vit_e'], request.form['vit_d'], request.form['protein'], request.form['scenario'], request.form['tablealiment'], request.form['serving']]) g.db.commit() elif database == 'activity': - g.db.execute('insert into entries (title, water, energie, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d, protein) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)', + g.db.execute('insert into activities (title, water, energie, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d, protein) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)', [request.form['title'].upper(), request.form['water'], request.form['energie'], request.form['calcium'], request.form['iron'], request.form['magnesium'], request.form['phosphorus'], request.form['potassium'], request.form['sodium'], request.form['zinc'], request.form['copper'], request.form['vit_c'], request.form['thiamin'], request.form['riboflavin'], request.form['niacin'], request.form['panto_acid'], request.form['vit_b6'], request.form['folate_tot'], request.form['vit_b12'], request.form['vit_a'], request.form['vit_e'], request.form['vit_d'], request.form['protein']]) g.db.commit() - + + line = request.form['title'] + '|' + request.form['water'] + '|' + request.form['energie'] + '|' + request.form['calcium'] + '|' + request.form['iron'] + '|' + request.form['magnesium'] + '|' + request.form['phosphorus'] + '|' + request.form['potassium'] + '|' + request.form['sodium'] + '|' + request.form['zinc'] + '|' + request.form['copper'] + '|' + request.form['vit_c'] + '|' + request.form['thiamin'] + '|' + request.form['riboflavin'] + '|' + request.form['niacin'] + '|' + request.form['panto_acid'] + '|' + request.form['vit_b6'] + '|' + request.form['folate_tot'] + '|' + request.form['vit_b12'] + '|' + request.form['vit_a'] + '|' + request.form['vit_e'] + '|' + request.form['vit_d'] + '|' + request.form['protein'] + '|' + request.form['scenario'] + '|' + request.form['tablealiment'] + '|' + request.form['serving'] + write_log(line, 's') flash('New entry was successfully posted') return redirect(url_for('addentry')) def delete_entry(database): g.db = connect_db(database) - g.db.execute('delete from entries where title=?', [request.form['title'].upper()]) - g.db.commit() + if database == 'nutrition': + g.db.execute('delete from entries where title=?', [request.form['title'].upper()]) + g.db.commit() + elif database == 'activity': + g.db.execute('delete from activities where title=?', [request.form['title'].upper()]) + g.db.commit() flash('Entry is successfully deleted') return redirect(url_for('addentry')) -def show_entry(database): +def show_entry(database, name): g.db = connect_db(database) # TODO - check the table exist or create it if database == 'nutrition': - entry = g.db.execute('select title, water, energie, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d, protein, scenario from entries where title=?', [request.form['title'].upper()]).fetchone() + entry = g.db.execute('select title, water, energie, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d, protein, scenario, tablealiment, serving from entries where title=?', [name.upper()]).fetchone() elif database == 'activity': - entry = g.db.execute('select title, water, energie, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d, protein from entries where title=?', [request.form['title'].upper()]).fetchone() + entry = g.db.execute('select title, water, energie, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d, protein from activities where title=?', [name.upper()]).fetchone() + + return entry +def show_aliment(name): + g.db = connect_db('nutrition') + # TODO - check the table exist or create it + entry = g.db.execute('select title, water, energie, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d, protein, scenario, tablealiment, serving from entries where title=?', [name]).fetchone() return entry def check_values(): @@ -168,23 +182,17 @@ def check_values(): return error def return_entry(): - entry = [request.form['title'].upper(), request.form['water'], request.form['energie'], request.form['calcium'], request.form['iron'], request.form['magnesium'], request.form['phosphorus'], request.form['potassium'], request.form['sodium'], request.form['zinc'], request.form['copper'], request.form['vit_c'], request.form['thiamin'], request.form['riboflavin'], request.form['niacin'], request.form['panto_acid'], request.form['vit_b6'], request.form['folate_tot'], request.form['vit_b12'], request.form['vit_a'], request.form['vit_e'], request.form['vit_d'], request.form['protein'], request.form['scenario']] + entry = [request.form['title'].upper(), request.form['water'], request.form['energie'], request.form['calcium'], request.form['iron'], request.form['magnesium'], request.form['phosphorus'], request.form['potassium'], request.form['sodium'], request.form['zinc'], request.form['copper'], request.form['vit_c'], request.form['thiamin'], request.form['riboflavin'], request.form['niacin'], request.form['panto_acid'], request.form['vit_b6'], request.form['folate_tot'], request.form['vit_b12'], request.form['vit_a'], request.form['vit_e'], request.form['vit_d'], request.form['protein'], request.form['scenario'], request.form['tablealiment'], request.form['serving']] flash('Correct entry') return entry - -def reset_status(): - fobj = open(DATA_STATUS, 'wb') - fobj.truncate() - fobj.write('|' + str('0') + '|' + str('0') + '|' + str('0') + '|' + str('0') + '|' + str('0') + '|' + str('0') + '|' + str('0') + '|' + str('0') + '|' + str('0') + '|' + str('0') + '|' + str('0') + '|' + str('0') + '|' + str('0') + '|' + str('0') + '|' + str('0') + '|' + str('0') + '|' + str('0') + '|' + str('0') + '|' + str('0') + '|' + str('0') + '|' + str('0') + '|' + str('0') + '|' + str('0')) - fobj.close() def add_entry_tolist(aliment, path, quantity, unit): g.db = connect_db('nutrition') # TODO - check the table exist or create it - entry = g.db.execute('select title, water, energie, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d, protein from entries where title=?', [aliment]).fetchone() + entry = g.db.execute('select title, water, energie, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d, protein, serving from entries where title=?', [aliment]).fetchone() g.db = connect_db3() # TODO - check the table exist or create it - g.db.execute('insert into aliments (title, path, quantity, unit, water, energie, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d, protein) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)', [aliment.lower(), path, quantity, unit, entry[1], entry[2], entry[3], entry[4], entry[5], entry[6], entry[7], entry[8], entry[9], entry[10], entry[11], entry[12], entry[13], entry[14], entry[15], entry[16], entry[17], entry[18], entry[19], entry[20], entry[21], entry[22]]) + g.db.execute('insert into aliments (title, path, quantity, unit, serving, water, energie, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d, protein) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)', [aliment.lower(), path, quantity, unit, entry[23], entry[1], entry[2], entry[3], entry[4], entry[5], entry[6], entry[7], entry[8], entry[9], entry[10], entry[11], entry[12], entry[13], entry[14], entry[15], entry[16], entry[17], entry[18], entry[19], entry[20], entry[21], entry[22]]) g.db.commit() def aliments(): @@ -202,4 +210,32 @@ def save_aliments(aliments): fobj.write('|' + str(aliment['quantity']) + ',' + aliment['title']) fobj.close() - +def return_tablealiments(scenario): + g.db = connect_db('nutrition') + if scenario == 'fruits': + cur = g.db.execute('select title from entries where tablealiment=? and scenario=?', ['yes', scenario]) + tablealiments = [row[0] for row in cur.fetchall()] + elif scenario == 'meatcounter': + cur = g.db.execute('select title from entries where tablealiment=? and scenario=?', ['yes', scenario]) + tablealiments = [row[0] for row in cur.fetchall()] + elif scenario == 'fridge': + cur = g.db.execute('select title from entries where tablealiment=? and scenario=?', ['yes', scenario]) + tablealiments = [row[0] for row in cur.fetchall()] + elif scenario == 'rack': + cur = g.db.execute('select title from entries where tablealiment=? and scenario=?', ['yes', scenario]) + tablealiments = [row[0] for row in cur.fetchall()] + else: + pass + return tablealiments + +def write_log(entry, t): + fh = open(DATA_LOG, 'a') + timeFrame = '\n' + time.strftime("%d.%m.%Y %H:%M") + ': ' + fh.write(timeFrame) + if t == 'a': + for aliment in entry: + log_entry = str(aliment['quantity']) + ' ' + aliment['unit'] + ' from ' + aliment['title'] + ', ' + fh.write(log_entry) + elif t == 's': + fh.write(entry) + fh.close() diff --git a/nutrinoweb/controllers/eating.py b/nutrinoweb/controllers/eating.py index b8a9b31..a950852 100644 --- a/nutrinoweb/controllers/eating.py +++ b/nutrinoweb/controllers/eating.py @@ -12,15 +12,17 @@ import Avatar from flask import redirect, url_for -IM_PATH = ['../static/images/journal/jauge-energie.png'] - @app.route('/eating', methods=['GET', 'POST']) def eating(): - database_manager.init_db('nutrition') - database_manager.load_inputfilenutrition() + #database_manager.init_db('nutrition') + #database_manager.load_inputfilenutrition() + #database_manager.init_db3() + + #init entries = database_manager.entries() - IM_PATH = None + _aliments = database_manager.aliments() path = '../../static/images/journal/backgroundeating.png' + pathi = '../../static/images/journal/default.png' _entry = None _result = None _text = 'Hi, how can I help you?' @@ -28,60 +30,148 @@ def eating(): _visibilitybutton = 'hidden' _visibilitytextbox2 = 'hidden' _link = 'hidden' - _scenario = 'rack' - content = [ ] - position = [70, 0] + #4 different scenarios: fruits, meatcounter, rack and fridge + _scenario = None + name = None + progressbar = [ ] + tablealiment = None + + i = Avatar.Character(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, None) + i.load_status() + + #prepare position for the sun + position = i.Position + positionX = position[0] + positionY = position[1] + + #calculate time + daytime = "am" + hours = int(round(i.Time//60)) + 8 + minutes = int((i.Time % 60)) + if (minutes == 0): + minutes = "00" + else: + minutes = str(minutes) + if (hours > 11): + daytime = "pm" + if (hours > 12): + hours = hours - 12 + time = str(hours) + ":" + minutes + " " + daytime + + #Sun should not move, so start- and endposition have the same coordinates + positionSun = { + 'positionX': positionX, + 'positionstartX': positionX, + 'positionY': positionY, + 'positionstartY': positionY, + 'timeString': time + } + # POST if request.method == 'POST': - _aliments = database_manager.aliments() if 'send' in request.form: + #collect information about the scenario, the backgroundimage and the text in the bubble _scenario = request.form['send'] path = '../../static/images/journal/background' + _scenario + '.png' - _text = 'What are you searching for?' + _text = 'Hi, how can I help you? What are you searching for?' _visibilitytextbox = 'visible' + + #gives all aliments who should appears in the stand + tablealiment = database_manager.return_tablealiments(_scenario) + elif 'cooking' in request.form: + + #this part calculates the progress for each aliment the user has choosen for aliment in _aliments: - _result = calculateDimension(aliment, entries) - pathi = '../../static/images/journal/aliments/' + aliment['title'] + '.png' - cont = { + if aliment['title'] != "": + waterstart = i.Water + energiestart = i.Energie + vitaminestart = i.Vit_total + constructionstart = i.Construction + calculateDimension(aliment, entries, i) + pathi = '../../static/images/journal/aliments/' + aliment['title'] + '.png' + + #contents for main.html + contents = { + 'title': _(aliment['title']), + 'water': calculateHeight(i.Water), + 'energie': calculateHeight(i.Energie), + 'vitamine': calculateHeight(i.Vit_total), + 'construction': calculateHeight(i.Construction), + 'waterstart': calculateHeight(waterstart), + 'energiestart': calculateHeight(energiestart), + 'vitaminestart': calculateHeight(vitaminestart), + 'constructionstart': calculateHeight(constructionstart), + 'pathimg': pathi, + } + progressbar.append(contents) + + else: + #contents for main.html + contents = { 'title': _(aliment['title']), - 'image': IM_PATH, - 'water': _result[0], - 'energie': _result[1], - 'vitamine': _result[2], - 'construction': _result[3], - 'waterstart': _result[4], - 'energiestart': _result[5], - 'vitaminestart': _result[6], - 'constructionstart': _result[7], + 'water': calculateHeight(i.Water), + 'energie': calculateHeight(i.Energie), + 'vitamine': calculateHeight(i.Vit_total), + 'construction': calculateHeight(i.Construction), + 'waterstart': calculateHeight(i.Water), + 'energiestart': calculateHeight(i.Energie), + 'vitaminestart': calculateHeight(i.Vit_total), + 'constructionstart': calculateHeight(i.Construction), 'pathimg': pathi, } - content.append(cont) - _content = { 'content': content, 'position': position} + progressbar.append(contents) + + #log aliments + database_manager.write_log(_aliments, 'a') + + #save status + i.save_status() + + _content = { 'progressbar': progressbar, 'positionSun': positionSun } # render result return render('nutrinoweb/main.html', **_content) + elif 'askforaliment' in request.form: _scenario = request.form['info1'] - path = '../../static/images/journal/background' + _scenario + '.png' - _entry = database_manager.show_entry('nutrition') + path = '../../static/images/journal/background' + request.form['info1'] + '.png' + tablealiment = database_manager.return_tablealiments(_scenario) + name = request.form['title'] + _entry = database_manager.show_entry('nutrition', name) if (_entry != None): if _entry[23] == _scenario or _entry[23] == None: _text = 'How much do you want?' _visibilitytextbox2 = 'visible' else: _text = 'Sorry, I do not have ' + request.form['title'] + '. Maybe you should ask somewhere else!' + _visibilitytextbox = 'visible' else: _text = 'Sorry, I do not have ' + request.form['title'] + '. Do you want something else?' _visibilitytextbox = 'visible' _link = 'visible' + + elif 'standaliment' in request.form: + _scenario = request.form['info1'] + path = '../../static/images/journal/background' + _scenario + '.png' + tablealiment = database_manager.return_tablealiments(_scenario) + name = request.form['standaliment'] + _entry = database_manager.show_entry('nutrition', name) + if (_entry != None): + _text = 'How much do you want?' + _visibilitytextbox2 = 'visible' + else: + pass + elif 'orderaliment' in request.form: - _scenario = request.form['info3'] + _scenario = request.form['info1'] path = '../../static/images/journal/background' + _scenario + '.png' + tablealiment = database_manager.return_tablealiments(_scenario) _text = 'What else do you want?' _visibilitytextbox = 'visible' pathtoimage = '../static/images/journal/aliments/' + request.form['info2'] + '.png' database_manager.add_entry_tolist(request.form['info2'], pathtoimage, request.form['quantity'], request.form['unit']) _aliments = database_manager.aliments() + else: pass # GET @@ -91,7 +181,10 @@ def eating(): database_manager.init_db3() _aliments = database_manager.aliments() - # + #save status + i.save_status() + + #content for eating.html _content = { 'title': _('What do you want to eat?'), 'entries': entries, @@ -104,114 +197,75 @@ def eating(): 'visibilitybutton': _visibilitybutton, 'aliments': _aliments, 'scenario': _scenario, - 'linkvisiblity': _link + 'linkvisiblity': _link, + 'tablealiment': tablealiment, + 'name': name, } # render result return render('nutrinoweb/eating.html', **_content) - -def calculateDimension(result, entries): +def calculateDimension(result, entries, i): water = None energie = None vitamine = None construction = None vitstart = None - instance = Avatar.Character() - eng = instance.load_status() + factor = 1 if result != None and entries != None: - eng = instance.load_status() for entry in entries: if result['title'].upper() in entry['title']: - factor = result['quantity'] / 100.0 + #calculate the factor (in the database every value based on 100ml/g) + #serving means a dish of something, each value is determined in the database, f.e. a applepiece has about 50g + if result['unit'] == 'serving': + fac = result['quantity'] * float(entry['serving']) + factor = fac / 100.0 + else: + factor = result['quantity'] / 100.0 + + #calculate the value in ml/g multiplie with the statusvalue + #part water - _water = controllValue(((factor*calculateWater(float(entry['water']))) / 2) + float(eng['water'])) - water = calculateHeight(_water) + i.Water = controllValue(((factor*calculateWater(float(entry['water']))) / 2) + i.Water) - #part energie - _energie = controllValue((factor*calculateEnergie(float(entry['energie']))) + float(eng['energie'])) - energie = calculateHeight(_energie) + #part energie + i.Energie = controllValue((factor*calculateEnergie(float(entry['energie']))) + i.Energie) #part vitamine - _vitamine = calculateVitamine(factor, entry, eng) - vitamine = calculateHeight(_vitamine[0]) + i.Vit_total = calculateVitamine(factor, entry, i) #part construction - _construction = controllValue((factor*calculateConstruction(float(entry['protein']))) + float(eng['construction'])) - construction = calculateHeight(_construction) - - status = { - "water": _water, - "energie": _energie, - "calcium": _vitamine[1], - "iron" : _vitamine[2], - "magnesium": _vitamine[3], - "phosphorus": _vitamine[4], - "potassium": _vitamine[5], - "sodium": _vitamine[6], - "zinc": _vitamine[7], - "copper": _vitamine[8], - "vit_c": _vitamine[9], - "thiamin": _vitamine[10], - "riboflavin": _vitamine[11], - "niacin": _vitamine[12], - "panto_acid": _vitamine[13], - "vit_b6": _vitamine[14], - "folate_tot": _vitamine[15], - "vit_b12": _vitamine[16], - "vit_a": _vitamine[17], - "vit_e": _vitamine[18], - "vit_d": _vitamine[19], - "vit_total": _vitamine[0], - "construction": _construction - } - - instance.save_status(status) + i.Construction = controllValue((factor*calculateConstruction(float(entry['protein']))) + i.Construction) + else: pass - else: - #part water - water = 100.0 - float(eng['water']) - - #part energie - energie = 100.0 - float(eng['energie']) - - #part vitamine - vitamine = 100.0 - float(eng['vit_total']) - - #part construction - construction = 100.0 - float(eng['construction']) - - _result = [water, energie, vitamine, construction, calculateHeight(float(eng['water'])), calculateHeight(float(eng['energie'])), calculateHeight(float(eng['vit_total'])), calculateHeight(float(eng['construction']))] - return _result def calculateEnergie(energie): height = energie/4.0 return height -def calculateVitamine(f, entry, status): - calcium = controllValue(float(status['calcium']) + (f*(float(entry['calcium']) / 9.0))) - iron = controllValue(float(status['iron']) + (f*(float(entry['iron']) / 0.125))) - magnesium = controllValue(float(status['magnesium']) + (f*(float(entry['magnesium']) / 2.1))) - phosphorus = controllValue(float(status['phosphorus']) + (f*(float(entry['phosphorus']) / 10))) - potassium = controllValue(float(status['potassium']) + (f*(float(entry['potassium']) / 15.5))) - sodium = controllValue(float(status['sodium']) + (f*(float(entry['sodium']) / 4.85))) - zinc = controllValue(float(status['zinc']) + (f*(float(entry['zinc']) / 0.08))) - copper = controllValue(float(status['copper']) + (f*(float(entry['copper']) / 0.0115))) - vit_c = controllValue(float(status['vit_c']) + (f*(float(entry['vit_c']) / 0.85))) - thiamin = controllValue(float(status['thiamin']) + (f*(float(entry['thiamin']) / 0.012))) - riboflavin = controllValue(float(status['riboflavin']) + (f*(float(entry['riboflavin']) / 0.011))) - niacin = controllValue(float(status['niacin']) + (f*(float(entry['niacin']) / 0.13))) - panto_acid = controllValue(float(status['panto_acid']) + (f*(float(entry['panto_acid']) / 0.05))) - vit_b6 = controllValue(float(status['vit_b6']) + (f*(float(entry['vit_b6']) / 0.0085))) - folate_tot = controllValue(float(status['folate_tot']) + (f*(float(entry['folate_tot']) / 3.5))) - vit_b12 = controllValue(float(status['vit_b12']) + (f*(float(entry['vit_b12']) / 0.019))) - vit_a = controllValue(float(status['vit_a']) + (f*(float(entry['vit_a']) / 0.11))) - vit_e = controllValue(float(status['vit_e']) + (f*(float(entry['vit_e']) / 0.05))) - vit_d = controllValue(float(status['vit_d']) + (f*(float(entry['vit_d']) / 0.315))) - - height = (calcium + iron + magnesium + phosphorus + potassium + sodium + zinc + copper + vit_c + thiamin + riboflavin + niacin + panto_acid + vit_b6 + folate_tot + vit_b12 + vit_a + vit_e + vit_d)/19.0 - height = [height, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d] +def calculateVitamine(f, entry, i): + i.Calcium = controllValue(i.Calcium + (f*(float(entry['calcium']) / 9.0))) + i.Iron = controllValue(i.Iron + (f*(float(entry['iron']) / 0.125))) + i.Magnesium = controllValue(i.Magnesium + (f*(float(entry['magnesium']) / 2.1))) + i.Phosphorus = controllValue(i.Phosphorus + (f*(float(entry['phosphorus']) / 10))) + i.Potassium = controllValue(i.Potassium + (f*(float(entry['potassium']) / 15.5))) + i.Sodium = controllValue(i.Sodium + (f*(float(entry['sodium']) / 4.85))) + i.Zinc = controllValue(i.Zinc + (f*(float(entry['zinc']) / 0.08))) + i.Copper = controllValue(i.Copper + (f*(float(entry['copper']) / 0.0115))) + i.Vit_c = controllValue(i.Vit_c + (f*(float(entry['vit_c']) / 0.85))) + i.Thiamin = controllValue(i.Thiamin + (f*(float(entry['thiamin']) / 0.012))) + i.Riboflavin = controllValue(i.Riboflavin + (f*(float(entry['riboflavin']) / 0.011))) + i.Niacin = controllValue(i.Niacin + (f*(float(entry['niacin']) / 0.13))) + i.Panto_acid = controllValue(i.Panto_acid + (f*(float(entry['panto_acid']) / 0.05))) + i.Vit_b6 = controllValue(i.Vit_b6 + (f*(float(entry['vit_b6']) / 0.0085))) + i.Folate_tot = controllValue(i.Folate_tot + (f*(float(entry['folate_tot']) / 3.5))) + i.Vit_b12 = controllValue(i.Vit_b12 + (f*(float(entry['vit_b12']) / 0.019))) + i.Vit_a = controllValue(i.Vit_a + (f*(float(entry['vit_a']) / 0.11))) + i.Vit_e = controllValue(i.Vit_e + (f*(float(entry['vit_e']) / 0.05))) + i.Vit_d = controllValue(i.Vit_d + (f*(float(entry['vit_d']) / 0.315))) + + height = (i.Calcium + i.Iron + i.Magnesium + i.Phosphorus + i.Potassium + i.Sodium + i.Zinc + i.Copper + i.Vit_c + i.Thiamin + i.Riboflavin + i.Niacin + i.Panto_acid + i.Vit_b6 + i.Folate_tot + i.Vit_b12 + i.Vit_a + i.Vit_e + i.Vit_d) / 19.0 return height def controllValue(value): @@ -221,11 +275,11 @@ def controllValue(value): def calculateWater(water): - height = water/17.5 + height = water/1.5 return height def calculateConstruction(construction): - height = construction/0.215 #daily value 0.9g/kg weight, a child of 35kg needs 21.5g + height = construction/0.252 #daily value 0.9g/kg weight, a child of 35kg needs 21.5g return height def calculateHeight(height): diff --git a/nutrinoweb/controllers/main.py b/nutrinoweb/controllers/main.py index 3d7045a..fe24ffe 100644 --- a/nutrinoweb/controllers/main.py +++ b/nutrinoweb/controllers/main.py @@ -8,48 +8,75 @@ from gettext import gettext as _ from server.flask import app, logger, render, request, jsonify #eating import for the status -import eating, Avatar, database_manager +import Avatar, database_manager -IM_PATH = ['../static/images/journal/jauge-energie.png'] @app.route('/main', methods=['GET', 'POST']) def main(): logger.debug("controllermain: enter") # list images - _images = IM_PATH - _result = eating.calculateDimension(None, None) - position = [70, 0] + i = Avatar.Character(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, [70, 0]) if request.method == 'POST': if 'reset' in request.form: - #instance = Avatar.Character() - database_manager.reset_status() - #instance.reset_status() - _result[0] = 100.0 - _result[1] = 100.0 - _result[2] = 100.0 - _result[3] = 100.0 - _result[4] = 100.0 - _result[5] = 100.0 - _result[6] = 100.0 - _result[7] = 100.0 - position = [70, 0] + i.reset_status() + #log reset + database_manager.write_log('reset', 's') + + i.load_status() + + #prepare position for the sun + position = i.Position + positionX = position[0] + positionY = position[1] + + #calculate time + daytime = "am" + hours = int(round(i.Time//60)) + 8 + minutes = int((i.Time % 60)) + if (minutes == 0): + minutes = "00" + else: + minutes = str(minutes) + if (hours > 11): + daytime = "pm" + if (hours > 12): + hours = hours - 12 + time = str(hours) + ":" + minutes + " " + daytime - contents = [dict( - title= _('Hello'), - image= _images, - water= _result[0], - energie= _result[1], - vitamine= _result[2], - construction= _result[3], - waterstart= _result[4], - energiestart= _result[5], - vitaminestart= _result[6], - constructionstart= _result[7], - )] + #status- and progressinformation of the progressbars (water, energie, vitamine and construction), bars should not move + progressbar = [dict( + water= calculateHeight(i.Water), + energie= calculateHeight(i.Energie), + vitamine= calculateHeight(i.Vit_total), + construction= calculateHeight(i.Construction), + waterstart= calculateHeight(i.Water), + energiestart= calculateHeight(i.Energie), + vitaminestart= calculateHeight(i.Vit_total), + constructionstart= calculateHeight(i.Construction), + pathimg = '../../static/images/journal/default.png' + )] + + #Sun should not move, so start- and endposition have the same coordinates + positionSun = { + 'positionX': positionX, + 'positionstartX': positionX, + 'positionY': positionY, + 'positionstartY': positionY, + 'timeString': time + } #prepare result - _content = { 'content': contents, 'position': position} + _content = { 'progressbar': progressbar, 'positionSun': positionSun } # render result return render('nutrinoweb/main.html', **_content) +def calculateHeight(height): + height = 100.0 - height + if height < 0.0: + return 5.0 + elif height == 0.0: + return 5.0 + elif height > 100.0: + return 99.00 + return int(height) diff --git a/nutrinoweb/controllers/sparetime.py b/nutrinoweb/controllers/sparetime.py index f122767..beda038 100644 --- a/nutrinoweb/controllers/sparetime.py +++ b/nutrinoweb/controllers/sparetime.py @@ -10,24 +10,59 @@ import database_manager #Avatar import import Avatar -IM_PATH = ['../static/images/journal/jauge-energie.png'] - @app.route('/sparetime', methods=['GET', 'POST']) def sparetime(): database_manager.init_db('activity') database_manager.load_inputfileactivities() entries = database_manager.entriessparetime() content = [ ] + position = [70, 0] # POST if request.method == 'POST': if 'activity' in request.form: + i = Avatar.Character(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, position) + i.load_status() result = request.form['activity'] factor = float(request.form['time']) - position = calculateTime(factor) pathi = '../../static/images/journal/activities/' + result + '.png' - _result = calculateDimension(factor, result, entries) - cont = { - 'image': IM_PATH, + _result = calculateDimension(factor, result, entries, i) + + #calculate new position for the sun + startfactor = i.Time + positionstart = calculateTime(startfactor) + timefactor = factor + startfactor + if (timefactor >= 720.0): + timefactor = 0.0 + newPosition = calculateTime(timefactor) + i.Position = newPosition + i.Time = timefactor + + #calculate time + daytime = "am" + hours = int(round(i.Time//60)) + 8 + minutes = int((i.Time % 60)) + if (minutes == 0): + minutes = "00" + else: + minutes = str(minutes) + if (hours > 11): + daytime = "pm" + if (hours > 12): + hours = hours - 12 + time = str(hours) + ":" + minutes + " " + daytime + + + #Start and Endposition for the sun + positionSun = { + 'positionX': float(newPosition[0]), + 'positionstartX': float(positionstart[0]), + 'positionY': float(newPosition[1]), + 'positionstartY': float(positionstart[1]), + 'timeString': time + } + + + progressbar = { 'water': _result[0], 'energie': _result[1], 'vitamine': _result[2], @@ -38,8 +73,17 @@ def sparetime(): 'constructionstart': _result[7], 'pathimg': pathi, } - content.append(cont) - _content = { 'content': content, 'result' : result, 'position': position } + content.append(progressbar) + + _content = { 'progressbar': content, 'positionSun': positionSun } + + #log activity + line = str(factor) + ' min. ' + result + database_manager.write_log(line, 's') + + #save status in status.json + i.save_status() + # render result return render('nutrinoweb/main.html', **_content) @@ -51,114 +95,75 @@ def sparetime(): _result = '' # _content = { - 'title': _('What do you want to play?'), + 'title': _('What do you want to do?'), 'activities': entries, 'result': _result, } # render result return render('nutrinoweb/sparetime.html', **_content) -def calculateTime(f): - if f == 15.0: - position = [60 , 5] - elif f == 30.0: - position = [50 , 10] - elif f == 45.0: - position = [40 , 15] - elif f == 60.0: - position = [30 , 20] - else: - pass - return position - -def calculateDimension(factor, result, entries): +def calculateDimension(factor, result, entries, i): water = None energie = None vitamine = None construction = None vitstart = None - instance = Avatar.Character() - eng = instance.load_status() if result != None and entries != None: - eng = instance.load_status() for entry in entries: if result in entry['title']: + #part water - _water = controllValue(float(eng['water']) - ((factor*calculateWater(float(entry['water']))) / 2)) - water = calculateHeight(_water) + waterstart = i.Water + i.Water = controllValue(i.Water - ((factor*calculateWater(float(entry['water']))) / 2)) + water = calculateHeight(i.Water) - #part energie - _energie = controllValue(float(eng['energie']) - (factor*calculateEnergie(float(entry['energie'])))) - energie = calculateHeight(_energie) + #part energie + energiestart = i.Energie + i.Energie = controllValue(i.Energie - (factor*calculateEnergie(float(entry['energie'])))) + energie = calculateHeight(i.Energie) #part vitamine - _vitamine = calculateVitamine(1, entry, eng) - vitamine = calculateHeight(_vitamine[0]) + vitaminestart = i.Vit_total + i.Vit_total = calculateVitamine(1, entry, i) + vitamine = calculateHeight(i.Vit_total) #part construction - _construction = controllValue(float(eng['construction']) - (factor*calculateConstruction(float(entry['protein'])))) - construction = calculateHeight(_construction) - - status = { - "water": _water, - "energie": _energie, - "calcium": _vitamine[1], - "iron" : _vitamine[2], - "magnesium": _vitamine[3], - "phosphorus": _vitamine[4], - "potassium": _vitamine[5], - "sodium": _vitamine[6], - "zinc": _vitamine[7], - "copper": _vitamine[8], - "vit_c": _vitamine[9], - "thiamin": _vitamine[10], - "riboflavin": _vitamine[11], - "niacin": _vitamine[12], - "panto_acid": _vitamine[13], - "vit_b6": _vitamine[14], - "folate_tot": _vitamine[15], - "vit_b12": _vitamine[16], - "vit_a": _vitamine[17], - "vit_e": _vitamine[18], - "vit_d": _vitamine[19], - "vit_total": _vitamine[0], - "construction": _construction - } - - instance.save_status(status) + constructionstart = i.Construction + i.Construction = controllValue(i.Construction - (factor*calculateConstruction(float(entry['protein'])))) + construction = calculateHeight(i.Construction) + else: pass - _result = [water, energie, vitamine, construction, calculateHeight(float(eng['water'])), calculateHeight(float(eng['energie'])), calculateHeight(float(eng['vit_total'])), calculateHeight(float(eng['construction']))] + _result = [water, energie, vitamine, construction, calculateHeight(waterstart), calculateHeight(energiestart), calculateHeight(vitaminestart), calculateHeight(constructionstart)] return _result def calculateEnergie(energie): height = energie/4.0 return height -def calculateVitamine(f, entry, status): - calcium = controllValue(float(status['calcium']) - (f*(float(entry['calcium']) / 9.0))) - iron = controllValue(float(status['iron']) - (f*(float(entry['iron']) / 0.125))) - magnesium = controllValue(float(status['magnesium']) - (f*(float(entry['magnesium']) / 2.1))) - phosphorus = controllValue(float(status['phosphorus']) - (f*(float(entry['phosphorus']) / 10))) - potassium = controllValue(float(status['potassium']) - (f*(float(entry['potassium']) / 15.5))) - sodium = controllValue(float(status['sodium']) - (f*(float(entry['sodium']) / 4.85))) - zinc = controllValue(float(status['zinc']) - (f*(float(entry['zinc']) / 0.08))) - copper = controllValue(float(status['copper']) - (f*(float(entry['copper']) / 0.0115))) - vit_c = controllValue(float(status['vit_c']) - (f*(float(entry['vit_c']) / 0.85))) - thiamin = controllValue(float(status['thiamin']) - (f*(float(entry['thiamin']) / 0.012))) - riboflavin = controllValue(float(status['riboflavin']) - (f*(float(entry['riboflavin']) / 0.011))) - niacin = controllValue(float(status['niacin']) - (f*(float(entry['niacin']) / 0.13))) - panto_acid = controllValue(float(status['panto_acid']) - (f*(float(entry['panto_acid']) / 0.05))) - vit_b6 = controllValue(float(status['vit_b6']) - (f*(float(entry['vit_b6']) / 0.0085))) - folate_tot = controllValue(float(status['folate_tot']) - (f*(float(entry['folate_tot']) / 3.5))) - vit_b12 = controllValue(float(status['vit_b12']) - (f*(float(entry['vit_b12']) / 0.019))) - vit_a = controllValue(float(status['vit_a']) - (f*(float(entry['vit_a']) / 0.11))) - vit_e = controllValue(float(status['vit_e']) - (f*(float(entry['vit_e']) / 0.05))) - vit_d = controllValue(float(status['vit_d']) - (f*(float(entry['vit_d']) / 0.315))) - - height = (calcium + iron + magnesium + phosphorus + potassium + sodium + zinc + copper + vit_c + thiamin + riboflavin + niacin + panto_acid + vit_b6 + folate_tot + vit_b12 + vit_a + vit_e + vit_d)/19.0 - height = [height, calcium, iron, magnesium, phosphorus, potassium, sodium, zinc, copper, vit_c, thiamin, riboflavin, niacin, panto_acid, vit_b6, folate_tot, vit_b12, vit_a, vit_e, vit_d] +def calculateVitamine(f, entry, i): + i.Calcium = controllValue(i.Calcium - (f*(float(entry['calcium']) / 9.0))) + i.Iron = controllValue(i.Iron - (f*(float(entry['iron']) / 0.125))) + i.Magnesium = controllValue(i.Magnesium- (f*(float(entry['magnesium']) / 2.1))) + i.Phosphorus = controllValue(i.Phosphorus - (f*(float(entry['phosphorus']) / 10))) + i.Potassium = controllValue(i.Potassium - (f*(float(entry['potassium']) / 15.5))) + i.Sodium = controllValue(i.Sodium - (f*(float(entry['sodium']) / 4.85))) + i.Zinc = controllValue(i.Zinc - (f*(float(entry['zinc']) / 0.08))) + i.Copper = controllValue(i.Copper - (f*(float(entry['copper']) / 0.0115))) + i.Vit_c = controllValue(i.Vit_c - (f*(float(entry['vit_c']) / 0.85))) + i.Thiamin = controllValue(i.Thiamin - (f*(float(entry['thiamin']) / 0.012))) + i.Riboflavin = controllValue(i.Riboflavin - (f*(float(entry['riboflavin']) / 0.011))) + i.Niacin = controllValue(i.Niacin - (f*(float(entry['niacin']) / 0.13))) + i.Panto_acid = controllValue(i.Panto_acid - (f*(float(entry['panto_acid']) / 0.05))) + i.Vit_b6 = controllValue(i.Vit_b6 - (f*(float(entry['vit_b6']) / 0.0085))) + i.Folate_tot = controllValue(i.Folate_tot - (f*(float(entry['folate_tot']) / 3.5))) + i.Vit_b12 = controllValue(i.Vit_b12 - (f*(float(entry['vit_b12']) / 0.019))) + i.Vit_a = controllValue(i.Vit_a - (f*(float(entry['vit_a']) / 0.11))) + i.Vit_e = controllValue(i.Vit_e - (f*(float(entry['vit_e']) / 0.05))) + i.Vit_d = controllValue(i.Vit_d - (f*(float(entry['vit_d']) / 0.315))) + + height = (i.Calcium + i.Iron + i.Magnesium + i.Phosphorus + i.Potassium + i.Sodium + i.Zinc + i.Copper + i.Vit_c + i.Thiamin + i.Riboflavin + i.Niacin + i.Panto_acid + i.Vit_b6 + i.Folate_tot + i.Vit_b12 + i.Vit_a + i.Vit_e + i.Vit_d)/19.0 return height def controllValue(value): @@ -184,3 +189,107 @@ def calculateHeight(height): elif height > 100.0: return 99.00 return int(height) + +def calculateTime(f): + if f == 0.0: + position = [70, 0] + if f == 15.0: + position = [60 , 5] + elif f == 30.0: + position = [50 , 10] + elif f == 45.0: + position = [40 , 15] + elif f == 60.0: + position = [30 , 20] + elif f == 75.0: + position = [20 , 25] + elif f == 90.0: + position = [10 , 30] + elif f == 105.0: + position = [0 , 35] + elif f == 120.0: + position = [0 , 40] + elif f == 135.0: + position = [0 , 45] + elif f == 150.0: + position = [0 , 50] + elif f == 165.0: + position = [0 , 55] + elif f == 180.0: + position = [0 , 60] + elif f == 195.0: + position = [0 , 65] + elif f == 210.0: + position = [0 , 70] + elif f == 225.0: + position = [0 , 75] + elif f == 240.0: + position = [0 , 80] + elif f == 255.0: + position = [0 , 85] + elif f == 270.0: + position = [0 , 90] + elif f == 285.0: + position = [0 , 95] + elif f == 300.0: + position = [0 , 100] + elif f == 315.0: + position = [0 , 105] + elif f == 330.0: + position = [0 , 110] + elif f == 345.0: + position = [0 , 115] + elif f == 360.0: + position = [0 , 120] + elif f == 375.0: + position = [0 , 125] + elif f == 390.0: + position = [0 , 130] + elif f == 405.0: + position = [0 , 135] + elif f == 420.0: + position = [0 , 140] + elif f == 435.0: + position = [0 , 145] + elif f == 450.0: + position = [0 , 150] + elif f == 465.0: + position = [0 , 155] + elif f == 480.0: + position = [0 , 160] + elif f == 495.0: + position = [0 , 165] + elif f == 510.0: + position = [0 , 170] + elif f == 525.0: + position = [0 , 175] + elif f == 540.0: + position = [0 , 180] + elif f == 555.0: + position = [0 , 185] + elif f == 570.0: + position = [0 , 190] + elif f == 585.0: + position = [0 , 195] + elif f == 600.0: + position = [0 , 200] + elif f == 615.0: + position = [0 , 205] + elif f == 630.0: + position = [10 , 210] + elif f == 645.0: + position = [20 , 215] + elif f == 660.0: + position = [30 , 220] + elif f == 675.0: + position = [40 , 225] + elif f == 690.0: + position = [50 , 230] + elif f == 705.0: + position = [60 , 235] + elif f == 720.0: + position = [70 , 240] + else: + pass + return position + diff --git a/sample/dbinputsparetime.txt b/sample/dbinputsparetime.txt deleted file mode 100755 index 7b3e42e..0000000 --- a/sample/dbinputsparetime.txt +++ /dev/null @@ -1,4 +0,0 @@ -Swimming|700|300|40|0.02|15|24|24|714|0.09|0|0|0.005|0.034|0.042|0.11|0.003|3|0.17|684|2.32|1.5|30 -Cooking|200|100|10|0.02|5|24|100|714|0.09|0|0|0.005|0.034|0.042|0.11|0.003|3|0.17|684|2.32|1.5|5 -Reading|0|0|10|0.02|5|24|100|714|0.09|0|0|0.005|0.034|0.042|0.11|0.003|3|0.17|684|2.32|1.5|0 -Soccer|600|260|30|0.02|5|24|450|714|0.09|0|0|0.005|0.034|0.042|0.11|0.003|3|0.17|684|2.32|1.5|30 \ No newline at end of file diff --git a/sample/schema1.sql b/sample/schema1.sql index fab8d9a..da9d4c0 100644 --- a/sample/schema1.sql +++ b/sample/schema1.sql @@ -25,5 +25,6 @@ create table entries( vit_d string not null, protein string not null, path string, - scenario string + scenario string, + tablealiment string ); diff --git a/schema/schema1.sql b/schema/schema1.sql index fab8d9a..b430482 100644 --- a/schema/schema1.sql +++ b/schema/schema1.sql @@ -25,5 +25,7 @@ create table entries( vit_d string not null, protein string not null, path string, - scenario string + scenario string, + tablealiment string, + serving string not null ); diff --git a/schema/schema2.sql b/schema/schema2.sql index 17bb3c7..8a23269 100644 --- a/schema/schema2.sql +++ b/schema/schema2.sql @@ -5,6 +5,7 @@ create table aliments( path string not null, quantity string not null, unit string not null, + serving string, water string not null, energie string not null, calcium string not null, diff --git a/static/css/style.css b/static/css/style.css index 8c80bfb..8ee2e2a 100644 --- a/static/css/style.css +++ b/static/css/style.css @@ -4,8 +4,8 @@ h1, h2 {font-family: 'Georgia', serif; margin:0;} h1 {border-bottom: 6px solid #eee;} h2 {font-size: 1.2em;} -.page {margin: 2em auto; width: 630px; border: 5px solid #ccc; padding: 0.8em; background: white;} -.main {background-image: url(../images/journal/backgroundimg.png); background-repeat: no-repeat; width: 628px; height:370px;} +.page {margin: 2em auto; width: 630px; border: 5px solid #ccc; padding: 1.4em; background: white;} +.main {background-image: url(../images/journal/backgroundimg.png); height: 350px; background-repeat: no-repeat; width: 630px;} .energie-wrap {position: absolute; margin-left: 26.50em; margin-top: 100px;} .vitamine-wrap {position: absolute; margin-left: 30.21em; margin-top: 100px;} @@ -23,29 +23,41 @@ h2 {font-size: 1.2em;} .nameofaliment {width: 600px; height: 40px; margin-left: 0.7em; margin-top: 1em; font-size: 1em; border-bottom: 2px solid #eee;} .div1, .div2, .div3, .div4, .div5 {float: left; width: 120px; font-size: 0.7em;} -.diveating {height: 350px;} +.diveating {height: 390px; width: 630px;} .eatingleft {float: left; width: 110px; height: 350px;} .eatingleft ul {margin-top: 0px; list-style: None; padding-left: 10px; font-size: 10px; width: 100px; height: 350px; overflow: Scroll;} .eatingmiddle {float: left; width: 400px; height: 350px; background: no-repeat;} -.eatingright {float: left; width: 100px; border-left: 4px solid #eee; height: 350px; margin-left: 0.5em;} -.eatingright button {float: left; text-align: center; width: 100px; height: 59px; margin-top: 10px; margin-left: 7px; background-color: #FFFFFF;} -.shoppinglist {float: left; list-style: None; padding-top: 20px; font-size: 12px; font-family: Comic Sans Ms; color: #808080; background: url(../images/journal/shoppinglist.png) top left no-repeat; width:180px; height: 190px; margin-top: 140px; margin-left: 10px; text-align: center;} +.eatingright {float: left; width: 100px; border-left: 4px solid #eee; height: 350px;} +.eatingright button {text-align: center; width: 90px; height: 59px; margin-top: 10px; margin-left: 7px; background-color: #FFFFFF;} +.shoppinglist {list-style: None; padding-top: 20px; font-size: 12px; font-family: Comic Sans Ms; color: #808080; background: url(../images/journal/shoppinglist.png) top left no-repeat; width:180px; height: 190px; margin-top: 140px; margin-left: 10px; text-align: center;} +.None {float: left; margin-top: -350px; margin-left: 80px; text-align: center; width:300px; height:100px;} +.None img {float: left; width: 300px; height: 150px;} .rack {float: left; margin-top: -360px; margin-left: 80px; text-align: center; width:300px; height:100px;} -.fruits {float: left; margin-top: -360px; margin-left: 0px; text-align: center; width:250px; height:100px;} +.fruits {float: left; margin-top: -360px; margin-left: 0px; text-align: center; width:220px; height:150px;} .meatcounter {float: left; margin-top: -360px; margin-left: 0px; text-align: center; width:250px; height:100px;} .fridge {float: left; margin-top: -360px; margin-left: 80px; text-align: center; width:300px; height:100px;} -.rack img, .fridge img {float: left; width: 300px; height: 100px; z-index: 1;} -.fruits img, .meatcounter img {float: left; width: 250px; height: 100px; z-index: 1;} -.textrack {float: left; width: 180px; height: 50px; margin-left: 90px; margin-top: -85px; font-family: Verdana; font-size: 12px; color: #008000;} -.textfruits {float: left; width: 180px; height: 50px; margin-left: 29px; margin-top: -80px; font-family: Verdana; font-size: 12px; color: #008000;} -.textmeatcounter {float: left; width: 180px; height: 50px; margin-left: 32px; margin-top: -80px; font-family: Verdana; font-size: 12px; color: #008000;} -.textfridge {float: left; width: 180px; height: 50px; margin-left: 90px; margin-top: -85px; font-family: Verdana; font-size: 12px; color: #008000;} +.rack img, .fridge img {float: left; width: 220px; height: 150px; z-index: 1;} +.fruits img, .meatcounter img {float: left; width: 220px; height: 155px; z-index: 1;} +.welcometextNone {visibility: hidden; float: left; width: 180px; height: 50px; margin-left: 110px; margin-top: -130px; font-family: Verdana; font-size: 12px; color: #008000;} +.textrack {visibility: hidden; float: left; width: 180px; height: 50px; margin-left: 35px; margin-top: -100px; font-family: Verdana; font-size: 12px; color: #008000;} +.textrack2 {visibility: hidden; float: left; width: 180px; height: 50px; margin-left: 35px; margin-top: -100px; font-family: Verdana; font-size: 12px; color: #008000;} +.textfruits {visibility: hidden; float: left; width: 170px; height: 200px; margin-left: 20px; margin-top: -100px; font-family: Verdana; font-size: 12px; color: #008000;} +.textfruits2 {visibility: hidden;float: left; width: 200px; height: 200px; margin-left: 5px; margin-top: -210px; font-family: Verdana; font-size: 12px; color: #008000;} +.textmeatcounter {visibility: hidden;float: left; width: 180px; height: 50px; margin-left: 10px; margin-top: -100px; font-family: Verdana; font-size: 12px; color: #008000;} +.textmeatcounter2 {visibility: hidden;float: left; width: 180px; height: 50px; margin-left: 15px; margin-top: -100px; font-family: Verdana; font-size: 12px; color: #008000;} +.textfridge {visibility: hidden;float: left; width: 180px; height: 50px; margin-left: 35px; margin-top: -100px; font-family: Verdana; font-size: 12px; color: #008000;} +.textfridge2 {visibility: hidden;float: left; width: 180px; height: 50px; margin-left: 35px; margin-top: -100px; font-family: Verdana; font-size: 12px; color: #008000;} .linkaddentry {font-size: 10px; color: #FFFFFF;} +.alimentimg {margin-left: 5px; float: left; width: 50px; height: 50px; background: no-repeat;} +.fruitstable {position: absolute; float: left; margin-top: -170px; margin-left: 160px; padding-left: -200px;} +.meatcountertable {position: absolute; margin-left: 180px; margin-top: -150px;} +.racktable {position: absolute; margin-left: 165px; margin-top: -200px;} +.fridgetable {position: absolute; margin-left: 165px; margin-top: -200px;} .alimentimages {float: left; margin-top: 100px; margin-left: 0px;} .reset {margin-left: 580px; width: 10px;} .sun {float: left; margin-top: 0px; margin-left: 0px; width: 628px; height: 150px; } -.sun img {margin-top: 70px; width: 90px; height: 90px;} +.sun img {position: absolute; margin-top: 70px; width: 90px; height: 90px;} .acitivities {overflow: auto;} .timediv {margin-left: 120px;} diff --git a/static/images/journal/activities/COOKING.png b/static/images/journal/activities/COOKING.png deleted file mode 100644 index 45c0c48..0000000 --- a/static/images/journal/activities/COOKING.png +++ /dev/null Binary files differ diff --git a/static/images/journal/aliments/CHEESE CHEDDAR.png b/static/images/journal/aliments/CHEESE CHEDDAR.png deleted file mode 100644 index 09b8389..0000000 --- a/static/images/journal/aliments/CHEESE CHEDDAR.png +++ /dev/null Binary files differ diff --git a/static/images/journal/aliments/KELLOGG'S CORN FLAKES.png b/static/images/journal/aliments/KELLOGG'S CORN FLAKES.png deleted file mode 100644 index cd19738..0000000 --- a/static/images/journal/aliments/KELLOGG'S CORN FLAKES.png +++ /dev/null Binary files differ diff --git a/static/images/journal/aliments/MILK.png b/static/images/journal/aliments/MILK.png index 2c7fe18..2543dfb 100644 --- a/static/images/journal/aliments/MILK.png +++ b/static/images/journal/aliments/MILK.png Binary files differ diff --git a/static/images/journal/aliments/YOGURT.png b/static/images/journal/aliments/YOGURT.png index 270816c..ad81652 100644 --- a/static/images/journal/aliments/YOGURT.png +++ b/static/images/journal/aliments/YOGURT.png Binary files differ diff --git a/static/images/journal/aliments/apple.png b/static/images/journal/aliments/apple.png deleted file mode 100644 index a5b73e4..0000000 --- a/static/images/journal/aliments/apple.png +++ /dev/null Binary files differ diff --git a/static/images/journal/bubblefridge.png b/static/images/journal/bubblefridge.png index fd09bcd..65e0468 100644 --- a/static/images/journal/bubblefridge.png +++ b/static/images/journal/bubblefridge.png Binary files differ diff --git a/static/images/journal/bubblefruits.png b/static/images/journal/bubblefruits.png index e2fbd4c..cd11f83 100644 --- a/static/images/journal/bubblefruits.png +++ b/static/images/journal/bubblefruits.png Binary files differ diff --git a/static/images/journal/bubblemeatcounter.png b/static/images/journal/bubblemeatcounter.png index fba0bfe..d40692b 100644 --- a/static/images/journal/bubblemeatcounter.png +++ b/static/images/journal/bubblemeatcounter.png Binary files differ diff --git a/static/images/journal/bubblerack.png b/static/images/journal/bubblerack.png index fd09bcd..53b4f1c 100644 --- a/static/images/journal/bubblerack.png +++ b/static/images/journal/bubblerack.png Binary files differ diff --git a/static/images/journal/buttonfridge.png b/static/images/journal/buttonfridge.png index 34c284f..5dd06dc 100644 --- a/static/images/journal/buttonfridge.png +++ b/static/images/journal/buttonfridge.png Binary files differ diff --git a/static/images/lightbox-blank.gif b/static/images/lightbox-blank.gif deleted file mode 100644 index 1d11fa9..0000000 --- a/static/images/lightbox-blank.gif +++ /dev/null Binary files differ diff --git a/static/images/lightbox-btn-close.gif b/static/images/lightbox-btn-close.gif deleted file mode 100644 index 33bcf51..0000000 --- a/static/images/lightbox-btn-close.gif +++ /dev/null Binary files differ diff --git a/static/images/lightbox-btn-next.gif b/static/images/lightbox-btn-next.gif deleted file mode 100644 index a0d4fcf..0000000 --- a/static/images/lightbox-btn-next.gif +++ /dev/null Binary files differ diff --git a/static/images/lightbox-btn-prev.gif b/static/images/lightbox-btn-prev.gif deleted file mode 100644 index 040ee59..0000000 --- a/static/images/lightbox-btn-prev.gif +++ /dev/null Binary files differ diff --git a/static/images/lightbox-ico-loading.gif b/static/images/lightbox-ico-loading.gif deleted file mode 100644 index 4f1429c..0000000 --- a/static/images/lightbox-ico-loading.gif +++ /dev/null Binary files differ diff --git a/templates/layout.html b/templates/layout.html index 400f857..f758e15 100644 --- a/templates/layout.html +++ b/templates/layout.html @@ -10,10 +10,9 @@
{% block content %}{% endblock %} diff --git a/templates/nutrinoweb/addentry.html b/templates/nutrinoweb/addentry.html index 24e6c6d..f0495e6 100644 --- a/templates/nutrinoweb/addentry.html +++ b/templates/nutrinoweb/addentry.html @@ -10,7 +10,7 @@
Choose the database: - @@ -22,7 +22,13 @@

-
values are per 100g
or 1 minute:


+
one serving in g/ml +
+
Show this on the market? +
water (g):
sugar (g) : @@ -84,8 +90,7 @@
vitamine D (μg):
Choose a category: - @@ -98,7 +103,8 @@
-
+

+
* Values are per 100g or 100ml
-

- {% endblock %} - - - -- cgit v0.9.1