diff options
-rw-r--r-- | DATABASE | bin | 0 -> 12288 bytes | |||
-rw-r--r-- | DATABASE2 | bin | 0 -> 6144 bytes | |||
-rw-r--r-- | DATABASE3 | bin | 0 -> 12288 bytes | |||
-rwxr-xr-x | activity/activity.info | 6 | ||||
-rw-r--r-- | nutrinoweb/activity.py | 4 | ||||
-rw-r--r-- | nutrinoweb/controllers/Avatar.py | 111 | ||||
-rw-r--r-- | nutrinoweb/controllers/database_manager.py | 14 | ||||
-rw-r--r-- | nutrinoweb/controllers/eating.py | 34 | ||||
-rw-r--r-- | nutrinoweb/controllers/main.py | 11 | ||||
-rw-r--r-- | nutrinoweb/controllers/sparetime.py | 66 | ||||
-rw-r--r-- | sample/status.txt | 2 | ||||
-rw-r--r-- | static/css/style.css | 3 | ||||
-rw-r--r-- | static/images/journal/activities/SLEEPING.png | bin | 0 -> 7954 bytes | |||
-rw-r--r-- | templates/nutrinoweb/addentry.html | 45 | ||||
-rw-r--r-- | templates/nutrinoweb/main.html | 4 | ||||
-rw-r--r-- | templates/nutrinoweb/sparetime.html | 9 |
16 files changed, 183 insertions, 126 deletions
diff --git a/DATABASE b/DATABASE Binary files differnew file mode 100644 index 0000000..04bff30 --- /dev/null +++ b/DATABASE diff --git a/DATABASE2 b/DATABASE2 Binary files differnew file mode 100644 index 0000000..60f0676 --- /dev/null +++ b/DATABASE2 diff --git a/DATABASE3 b/DATABASE3 Binary files differnew file mode 100644 index 0000000..8d8c913 --- /dev/null +++ b/DATABASE3 diff --git a/activity/activity.info b/activity/activity.info index 6548da7..539a853 100755 --- a/activity/activity.info +++ b/activity/activity.info @@ -1,7 +1,7 @@ [Activity] -name = NutriWeb +name = NutrinoWeb activity_version = 1 -service_name = org.laptop.NutriWebActivity +service_name = org.laptop.NutrinoWebActivity icon = activity-NutriWeb -class = NutriWeb.activity.NutriWebActivity +class = nutrinoweb.activity.NutrinoWebActivity license = gplv3 diff --git a/nutrinoweb/activity.py b/nutrinoweb/activity.py index 7762250..7722908 100644 --- a/nutrinoweb/activity.py +++ b/nutrinoweb/activity.py @@ -43,14 +43,14 @@ class NutrinoWebActivity(run.Server, activity.Activity): # .. if config.Config().get('activity>use-toolbar', type_=bool): self.__init_toolbar() - else + else: pass # ... self.web_view = WebView() self.set_canvas(self.web_view) self.web_view.show() # ... - self.change_screen('nutrinoweb') + self.change_screen('main') def get_toolbox(self): return self._toolbox diff --git a/nutrinoweb/controllers/Avatar.py b/nutrinoweb/controllers/Avatar.py index 6dbfebe..3eaab37 100644 --- a/nutrinoweb/controllers/Avatar.py +++ b/nutrinoweb/controllers/Avatar.py @@ -1,3 +1,10 @@ +import os +import json + +path_to_this_file = os.path.abspath( __file__ ) +temp_json = os.path.join(os.path.dirname(path_to_this_file), "../../sample/status.json") + + class Character: def __init__(self): @@ -26,75 +33,47 @@ class Character: self.vit_total = 0.0 self.construction = 0.0 - - def reset(self, gender=None): - """ - Restore some character properties to its default values. - """ - pass + def load_status(self): + fh = open(temp_json,'r') + status = json.load(fh) + fh.close() - def load_status(self): - fobj = open('/Users/stefanienobel/Documents/workspace/nutrinoweb/nutrinoweb/controllers/status.txt') - - for line in fobj: - zuordnung = line.split("|") - 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] + return status - fobj.close() + def save_status(self, status): + fh = open(temp_json,'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 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 + } + fh = open(temp_json,'w') + json.dump(status,fh) + fh.close() - def save_status(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('/Users/stefanienobel/Documents/workspace/nutrinoweb/nutrinoweb/controllers/status.txt', 'w') - 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/database_manager.py b/nutrinoweb/controllers/database_manager.py index f67ea23..ca33419 100644 --- a/nutrinoweb/controllers/database_manager.py +++ b/nutrinoweb/controllers/database_manager.py @@ -32,14 +32,14 @@ def connect_db3(): def init_db3(): """Creates the database tables.""" with closing(connect_db3()) as db: - with app.open_resource('schema2.sql') as f: + with app.open_resource('../../sample/schema2.sql') as f: db.cursor().executescript(f.read()) db.commit() def init_db(): """Creates the database tables.""" with closing(connect_db()) as db: - with app.open_resource('schema.sql') as f: + with app.open_resource('../../sample/schema.sql') as f: db.cursor().executescript(f.read()) db.commit() @@ -153,10 +153,10 @@ def aliments(): return aliments def save_aliments(aliments): - fobj = open('/Users/stefanienobel/Documents/workspace/nutrinoweb/nutrinoweb/controllers/aliments.txt', 'w') - fobj.truncate() - for aliment in aliments: - fobj.write('|' + str(aliment['quantity']) + ',' + aliment['title']) - fobj.close() + fobj = open('/Users/stefanienobel/Documents/workspace/nutrinoweb/nutrinoweb/controllers/aliments.txt', 'w') + fobj.truncate() + for aliment in aliments: + fobj.write('|' + str(aliment['quantity']) + ',' + aliment['title']) + fobj.close() diff --git a/nutrinoweb/controllers/eating.py b/nutrinoweb/controllers/eating.py index 24d68e6..0fb2238 100644 --- a/nutrinoweb/controllers/eating.py +++ b/nutrinoweb/controllers/eating.py @@ -30,6 +30,7 @@ def eating(): _link = 'hidden' _scenario = 'rack' content = [ ] + position = [70, 0] # POST if request.method == 'POST': _aliments = database_manager.aliments() @@ -56,7 +57,7 @@ def eating(): 'pathimg': pathi, } content.append(cont) - _content = { 'content': content, } + _content = { 'content': content, 'position': position} # render result return render('nutrinoweb/main.html', **_content) elif 'askforaliment' in request.form: @@ -138,9 +139,34 @@ def calculateDimension(result, entries): #part construction _construction = controllValue((factor*calculateConstruction(float(entry['protein']))) + float(eng['construction'])) construction = calculateHeight(_construction) - - status = instance.save_status(str(_water), str(_energie), str(_vitamine[1]), str(_vitamine[2]),str(_vitamine[3]),str(_vitamine[4]),str(_vitamine[5]),str(_vitamine[6]),str(_vitamine[7]),str(_vitamine[8]),str(_vitamine[9]),str(_vitamine[10]),str(_vitamine[11]),str(_vitamine[12]),str(_vitamine[13]),str(_vitamine[14]),str(_vitamine[15]),str(_vitamine[16]),str(_vitamine[17]),str(_vitamine[18]), str(_vitamine[19]), str(_vitamine[0]), str(_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) else: pass else: diff --git a/nutrinoweb/controllers/main.py b/nutrinoweb/controllers/main.py index 62260a0..2dcbc76 100644 --- a/nutrinoweb/controllers/main.py +++ b/nutrinoweb/controllers/main.py @@ -8,19 +8,23 @@ from gettext import gettext as _ from server.flask import app, logger, render, request, jsonify #eating import for the status -import eating, database_manager +import eating, Avatar 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] if request.method == 'POST': if 'reset' in request.form: - database_manager.reset_status() + instance = Avatar.Character() + + instance.reset_status() _result[0] = 100.0 _result[1] = 100.0 _result[2] = 100.0 @@ -29,6 +33,7 @@ def main(): _result[5] = 100.0 _result[6] = 100.0 _result[7] = 100.0 + position = [70, 0] contents = [dict( title= _('Hello'), @@ -44,7 +49,7 @@ def main(): )] #prepare result - _content = { 'content': contents, } + _content = { 'content': contents, 'position': position} # render result return render('nutrinoweb/main.html', **_content) diff --git a/nutrinoweb/controllers/sparetime.py b/nutrinoweb/controllers/sparetime.py index cea9512..31e8752 100644 --- a/nutrinoweb/controllers/sparetime.py +++ b/nutrinoweb/controllers/sparetime.py @@ -20,9 +20,12 @@ def sparetime(): content = [ ] # POST if request.method == 'POST': - if 'select-item' in request.form: - result = request.form['select-item'] - _result = calculateDimension(result, entries) + if 'activity' in request.form: + 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, 'water': _result[0], @@ -33,9 +36,10 @@ def sparetime(): 'energiestart': _result[5], 'vitaminestart': _result[6], 'constructionstart': _result[7], + 'pathimg': pathi, } content.append(cont) - _content = { 'content': content, } + _content = { 'content': content, 'result' : result, 'position': position } # render result return render('nutrinoweb/main.html', **_content) @@ -49,12 +53,25 @@ def sparetime(): _content = { 'title': _('What do you want to play?'), 'activities': entries, - 'result': _result + 'result': _result, } # render result return render('nutrinoweb/sparetime.html', **_content) -def calculateDimension(result, entries): +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): water = None energie = None vitamine = None @@ -66,14 +83,12 @@ def calculateDimension(result, entries): eng = instance.load_status() for entry in entries: if result in entry['title']: - - factor = 1 #part water - _water = controllValue(((factor*calculateWater(float(entry['water']))) / 2) - float(eng['water'])) + _water = controllValue(float(eng['water']) - ((factor*calculateWater(float(entry['water']))) / 2)) water = calculateHeight(_water) #part energie - _energie = controllValue((factor*calculateEnergie(float(entry['energie']))) - float(eng['energie'])) + _energie = controllValue(float(eng['energie']) - (factor*calculateEnergie(float(entry['energie'])))) energie = calculateHeight(_energie) #part vitamine @@ -81,11 +96,36 @@ def calculateDimension(result, entries): vitamine = calculateHeight(_vitamine[0]) #part construction - _construction = controllValue((factor*calculateConstruction(float(entry['protein']))) - float(eng['construction'])) + _construction = controllValue(float(eng['construction']) - (factor*calculateConstruction(float(entry['protein'])))) construction = calculateHeight(_construction) - status = instance.save_status(str(_water), str(_energie), str(_vitamine[1]), str(_vitamine[2]),str(_vitamine[3]),str(_vitamine[4]),str(_vitamine[5]),str(_vitamine[6]),str(_vitamine[7]),str(_vitamine[8]),str(_vitamine[9]),str(_vitamine[10]),str(_vitamine[11]),str(_vitamine[12]),str(_vitamine[13]),str(_vitamine[14]),str(_vitamine[15]),str(_vitamine[16]),str(_vitamine[17]),str(_vitamine[18]), str(_vitamine[19]), str(_vitamine[0]), str(_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) else: pass diff --git a/sample/status.txt b/sample/status.txt index 51792ad..074328b 100644 --- a/sample/status.txt +++ b/sample/status.txt @@ -1 +1 @@ -|9.47985714286|20.14|7.5|49.6|15.7142857143|7.5|26.5161290323|1.75257731959|6.25|30.6086956522|9.35294117648|10.5416666667|78.9545454546|15.1115384616|4.45|15.4705882353|8.57142857143|0.0|100.0|6.8|0.0|20.7733892781|13.3023255814
\ No newline at end of file +|13.9147142857|28.23|9.72222222222|55.2|24.2857142857|11.5|45.6129032259|2.98969072165|8.75|61.2173913044|17.8235294117|14.2083333333|86.7727272728|21.203846154|6.85|20.6470588235|11.4285714286|0.0|100.0|13.6|0.0|26.9374730623|20.0930232558
\ No newline at end of file diff --git a/static/css/style.css b/static/css/style.css index 0bf37dc..8c80bfb 100644 --- a/static/css/style.css +++ b/static/css/style.css @@ -46,3 +46,6 @@ h2 {font-size: 1.2em;} .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;} + +.acitivities {overflow: auto;} +.timediv {margin-left: 120px;} diff --git a/static/images/journal/activities/SLEEPING.png b/static/images/journal/activities/SLEEPING.png Binary files differnew file mode 100644 index 0000000..cc30c45 --- /dev/null +++ b/static/images/journal/activities/SLEEPING.png diff --git a/templates/nutrinoweb/addentry.html b/templates/nutrinoweb/addentry.html index 5e91527..24e6c6d 100644 --- a/templates/nutrinoweb/addentry.html +++ b/templates/nutrinoweb/addentry.html @@ -22,65 +22,66 @@ <div class=div1> <dl> </br> - <dt>water (g/100g): + <dt style="color: #808080">values are per 100g <br />or 1 minute:<br /><br /><br /> + <dt>water (g): <dd><input type=text size=5 name=water value={{entry[1]}}> - <dt>sugar (g/100g) : + <dt>sugar (g) : <dd><input type=text size=5 name=energie value={{entry[2]}}> - <dt>protein (g/100g): + <dt>protein (g): <dd><input type=text size=5 name=protein value={{entry[22]}}> </dl> </div> <div class=div2> <dl> - <dt>calcium (mg/100g): + <dt>calcium (mg): <dd><input type=text size=5 name=calcium value={{entry[3]}}> - <dt>iron (mg/100g): + <dt>iron (mg): <dd><input type=text size=5 name=iron value={{entry[4]}}> - <dt>magnesium (mg/100g): + <dt>magnesium (mg): <dd><input type=text size=5 name=magnesium value={{entry[5]}}> - <dt>phosphorus (mg/100g): + <dt>phosphorus (mg): <dd><input type=text size=5 name=phosphorus value={{entry[6]}}> - <dt>potassium (mg/100g): + <dt>potassium (mg): <dd><input type=text size=5 name=potassium value={{entry[7]}}> </dl> </div> <div class=div3> <dl> - <dt>sodium (mg/100g): + <dt>sodium (mg): <dd><input type=text size=5 name=sodium value={{entry[8]}}> - <dt>zinc (mg/100g): + <dt>zinc (mg): <dd><input type=text size=5 name=zinc value={{entry[9]}}> - <dt>copper (mg/100g): + <dt>copper (mg): <dd><input type=text size=5 name=copper value={{entry[10]}}> - <dt>vitamine C (mg/100g): + <dt>vitamine C (mg): <dd><input type=text size=5 name=vit_c value={{entry[11]}}> - <dt>thiamin (mg/100g): + <dt>thiamin (mg): <dd><input type=text size=5 name=thiamin value={{entry[12]}}> </dl> </div> <div class=div4> <dl> - <dt>riboflavin (mg/100g): + <dt>riboflavin (mg): <dd><input type=text size=5 name=riboflavin value={{entry[13]}}> - <dt>niacin (mg/100): + <dt>niacin (mg): <dd><input type=text size=5 name=niacin value={{entry[14]}}> - <dt>pantoacid (mg/100g): + <dt>pantoacid (mg): <dd><input type=text size=5 name=panto_acid value={{entry[15]}}> - <dt>vitamine B6 (mg/100g): + <dt>vitamine B6 (mg): <dd><input type=text size=5 name=vit_b6 value={{entry[16]}}> - <dt>folate (μg/100g): + <dt>folate (μg): <dd><input type=text size=5 name=folate_tot value={{entry[17]}}> </dl> </div> <div class=div5> <dl> - <dt>vitamine B12 (μg/100g): + <dt>vitamine B12 (μg): <dd><input type=text size=5 name=vit_b12 value={{entry[18]}}> - <dt>vitamine A (μ/100g): + <dt>vitamine A (μ): <dd><input type=text size=5 name=vit_a value={{entry[19]}}> - <dt>vitamine E (μg/100g): + <dt>vitamine E (μg): <dd><input type=text size=5 name=vit_e value={{entry[20]}}> - <dt>vitamine D (μg/100g): + <dt>vitamine D (μg): <dd><input type=text size=5 name=vit_d value={{entry[21]}}> <dt>Choose a category: <select name="scenario"> diff --git a/templates/nutrinoweb/main.html b/templates/nutrinoweb/main.html index d822f2f..20a8c9a 100644 --- a/templates/nutrinoweb/main.html +++ b/templates/nutrinoweb/main.html @@ -12,7 +12,7 @@ </div> {% for cont in content %} - <div class=alimentimages><img class=alimentimages src={{cont.pathimg}}></img></div> + <div class=alimentimages><img class=alimentimages src="{{cont.pathimg}}"></img></div> <script type="text/javascript"> var images = $("img.alimentimages").hide(); images.each(function(i){$(this).delay(i*2500).fadeIn(1000);}); @@ -24,7 +24,7 @@ $(".vitamine-value").animate({height: '{{cont.vitamine}}%'}, {duration: 2500, easing: "linear"}) $(".construction-value").css({ height:'{{cont.constructionstart}}%'}); $(".construction-value").animate({height:'{{cont.construction}}%'}, {duration: 2500, easing: "linear"}) - $("img.sun").animate({marginTop: '60px', marginLeft: '0px'}, {duration: 2500, easing: "swing"}) + $("img.sun").animate({marginTop: '{{ position[0] }}', marginLeft: '{{ position[1] }}'}, {duration: 2500, easing: "swing"}) </script> {% endfor %} </div> diff --git a/templates/nutrinoweb/sparetime.html b/templates/nutrinoweb/sparetime.html index 8fb44e3..768747f 100644 --- a/templates/nutrinoweb/sparetime.html +++ b/templates/nutrinoweb/sparetime.html @@ -5,11 +5,14 @@ <form action="/sparetime" method="post"> <div class=activities> - <ul> + <table width="600" height="200" border="0" align="center" cellpadding="10" cellspacing="10"> + <tr> {% for activity in activities %} - <li><img src="../../static/images/journal/activities/{{ activity.title }}.png">{{ activity.title.lower() }}</li> + <td width="100" align="center"><input type="image" name='activity' src="../../static/images/journal/activities/{{ activity.title }}.png" value={{ activity.title }}><br />{{ activity.title.lower() }}<br /></td> {% endfor %} - </ul> + </tr> + </table> + <div class=timediv><input type="radio" name="time" value="15" checked>15 minutes<input type="radio" name="time" value="30">30 minutes<input type="radio" name="time" value="45">45 minutes<input type="radio" name="time" value="60">60 minutes</div> </div> </form> |