from jinja2 import Environment as JinjaEnv, FileSystemLoader as JinjaFSLoader
from plomtask.days import Day
from plomtask.misc import HandledException
+from plomtask.db import DatabaseConnection
class TaskServer(HTTPServer):
"""Variant of HTTPServer that knows .jinja as Jinja Environment."""
- def __init__(self, templates_dir, *args, **kwargs):
+ def __init__(self, templates_dir, db_file, *args, **kwargs):
super().__init__(*args, **kwargs)
+ self.db = db_file
self.jinja = JinjaEnv(loader=JinjaFSLoader(templates_dir))
def do_GET_calendar(self):
"""Show sorted Days."""
- days = [Day('2024-01-03'), Day('2024-01-01'), Day('2024-01-02')]
+ conn = DatabaseConnection(self.server.db)
+ Day.add(conn, '2024-01-03')
+ Day.add(conn, '2024-01-01')
+ Day.add(conn, '2024-01-02')
+ days = Day.all(conn)
+ conn.commit()
+ conn.close()
days.sort()
return self.server.jinja.get_template('calendar.html').render(
days=days)