from jinja2 import Environment as JinjaEnv, FileSystemLoader as JinjaFSLoader
from plomtask.days import Day
from plomtask.misc import HandledException
-
-TEMPLATES_DIR = 'templates'
+from plomtask.db import DatabaseConnection
class TaskServer(HTTPServer):
"""Variant of HTTPServer that knows .jinja as Jinja Environment."""
- def __init__(self, *args, **kwargs):
- super().__init__(self, *args, **kwargs)
- self.jinja = JinjaEnv(loader=JinjaFSLoader(TEMPLATES_DIR))
+ def __init__(self, templates_dir, db_file, *args, **kwargs):
+ super().__init__(*args, **kwargs)
+ self.db = db_file
+ self.jinja = JinjaEnv(loader=JinjaFSLoader(templates_dir))
class TaskHandler(BaseHTTPRequestHandler):
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('2024-01-03').save(conn)
+ Day('2024-01-01').save(conn)
+ Day('2024-01-02').save(conn)
+ days = Day.all(conn)
+ conn.commit()
+ conn.close()
days.sort()
return self.server.jinja.get_template('calendar.html').render(
days=days)