home · contact · privacy
Add database connection, read and write Days through them.
[plomtask] / plomtask / http.py
index baa730ed7a77272982cb03c8ec61ea76f22d0a12..2039cf91351db9c866fa75c3ec4c974d388490ce 100644 (file)
@@ -6,13 +6,15 @@ from os.path import split as path_split
 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))
 
 
@@ -46,7 +48,13 @@ 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.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)