X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=calories.py;h=5d2fc98c3aaf99ceaeae0708e6f06094370c8bc3;hb=df13fc64930a7d05caf4ded471a27c4ab39faf32;hp=5ab57044eb3bd7333f7764ab62938d071473e72b;hpb=d590f1c7a00fad8ac34336ca3751b66335b5055e;p=misc diff --git a/calories.py b/calories.py index 5ab5704..5d2fc98 100644 --- a/calories.py +++ b/calories.py @@ -10,12 +10,10 @@ def build_page(eatable_rows, consumption_rows, eatables_selection, day_rows): return """ """ + f"""
@@ -28,8 +26,8 @@ td, th { + - @@ -45,9 +43,9 @@ td, th { - - - + + + @@ -62,7 +60,7 @@ for (let i = 0; i < unit_count_inputs.length; i++) { button.innerHTML = '+1'; button.onclick = function(event) { event.preventDefault(); - input.value = parseInt(input.value) + 1; + input.value = parseFloat(input.value) + 1.0; }; input.insertAdjacentElement('afterend', button); } @@ -158,18 +156,18 @@ class Database: eatable = self.eatables[c.eatable_key] calories = eatable.cals * c.unit_count sugar_g = eatable.sugar_g * c.unit_count - # calories = float(eatable.cals / eatable.standard_g) * c.unit_count * c.unit_weight - # sugar_g = float(eatable.sugar_g / eatable.standard_g) * c.unit_count * c.unit_weight self.today.calories += calories self.today.sugar_g += sugar_g return {"cals": calories, "sugar": sugar_g } - def eatables_selection(self, selection=None): + def eatables_selection(self): html = '' + already_selected = [c.eatable_key for c in self.consumptions] for k, v in sorted(self.eatables.items(), key=lambda item: item[1].title): + if k in already_selected: + continue v = self.eatables[k] - selected = ' selected' if k==selection else '' - html += '' % (k, selected, v.title) + html += '' % (k, v.title) return html def add_eatable(self, id_, eatable): @@ -225,7 +223,7 @@ class MyServer(BaseHTTPRequestHandler): if uuid not in to_delete: e = Eatable(decode("title", i, False), decode("cals", i), decode("sugar_g", i), decode("standard_g", i), decode("comments", i, False)) db.add_eatable(uuid, e) - i += 1 + i += 1 if 'title' in postvars.keys() and len(postvars['title'][i]) > 0: e = Eatable(decode("title", i, False), decode("cals", i), decode("sugar_g", i), decode("standard_g", i), decode("comments", i, False)) db.add_eatable(str(uuid4()), e) @@ -253,7 +251,7 @@ class MyServer(BaseHTTPRequestHandler): if c.unit_count > 0: db.eatables[c.eatable_key].popularity += 1 db.consumptions = [] - default_slots = 7 + default_slots = 10 for k, v in sorted(db.eatables.items(), key=lambda item: -item[1].popularity): db.add_consumption(Consumption(k, 0)) default_slots -= 1 @@ -280,9 +278,9 @@ class MyServer(BaseHTTPRequestHandler): eatables += ""\ ""\ ""\ - ""\ - ""\ - ""\ + ""\ + ""\ + ""\ ""\ ""\ "" % (k, v.title, v.cals, v.sugar_g, v.standard_g, v.comments, k) @@ -291,28 +289,28 @@ class MyServer(BaseHTTPRequestHandler): for c in db.consumptions: r = db.calc_consumption(c) consumptions += ""\ - ""\ - ""\ - ""\ + ""\ + ""\ + "%s"\ ""\ - "%.1f"\ - "%.1f"\ - "" % (db.eatables_selection(c.eatable_key), c.unit_count, r["cals"], r["sugar"]) + "%.1f"\ + "%.1f"\ + "" % (c.eatable_key, c.unit_count, db.eatables[c.eatable_key].title, r["cals"], r["sugar"]) day_rows = "" for date in sorted(db.days.keys()): day = db.days[date] day_rows = ""\ "%s"\ - "%.1f"\ - "%.1f"\ + "%.1f"\ + "%.1f"\ "" % (date, date[:10], day.calories, day.calories, day.sugar_g, day.sugar_g) + day_rows day_rows = ""\ "today:archive?"\ ""\ ""\ ""\ - "%.1f"\ - "%.1f"\ + "%.1f"\ + "%.1f"\ ""\ "" % (db.today_date, db.today.calories, db.today.calories, db.today.sugar_g, db.today.sugar_g) + day_rows page = build_page(eatables, consumptions, db.eatables_selection(), day_rows)