- day_rows = "<tr>"\
- "<td><input name=\"day_date\" type=\"hidden\" value=\"%s\" />%s</td>"\
- "<td><input name=\"day_cals\" type=\"hidden\" step=\"0.1\" min=\"0\" value=\"%.1f\" />%.1f</td>"\
- "<td><input name=\"day_sugar\" type=\"hidden\" step=\"0.1\" min=\"0\" value=\"%.1f\" />%.1f</td>"\
- "</tr>" % (date, date[:10], day.calories, day.calories, day.sugar_g, day.sugar_g) + day_rows
- day_rows = "<tr>"\
- "<th>today:</th><th></th><th></th><th>archive?</th>"\
- "</tr>"\
- "<tr>"\
- "<td><input name=\"new_date\" size=8 value=\"%s\" /></td>"\
- "<td><input name=\"new_day_cals\" type=\"hidden\" value=\"%.1f\" readonly />%.1f</td>"\
- "<td><input name=\"new_day_sugar\" type=\"hidden\" value=\"%.1f\" readonly />%.1f</td>"\
- "<td><input name=\"archive_day\" type=\"checkbox\" /></td>"\
- "</tr>" % (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)
- self.wfile.write(bytes(page, "utf-8"))
-
-
-if __name__ == "__main__":
- webServer = HTTPServer((hostName, serverPort), MyServer)
- print(f"Server started http://{hostName}:{serverPort}")
- try:
- webServer.serve_forever()
- except KeyboardInterrupt:
- pass
- webServer.server_close()
- print("Server stopped.")
+ day_rows += [{
+ 'date': date,
+ 'date_short': date[:10],
+ 'cals': f'{day.calories:.1f}',
+ 'sugar': f'{day.sugar_g:.1f}',
+ }]
+ homepage = self.apps['consumptions'] if hasattr(self, 'apps') else self.homepage
+ page = jinja2.Template(tmpl).render(
+ homepage = homepage,
+ db=db,
+ days=day_rows,
+ consumptions=consumption_rows,
+ eatables=eatable_rows,
+ eatables_selection=db.eatables_selection())
+ self.send_HTML(page)
+
+
+if __name__ == "__main__":
+ run_server(server_port, ConsumptionsHandler)