home · contact · privacy
Require explicit call to Day.save to have any Day committed to DB.
[plomtask] / plomtask / http.py
index baa730ed7a77272982cb03c8ec61ea76f22d0a12..9956a7251501758d795032903afb0d52c0e195b6 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 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."""
 
 
 
 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)
         super().__init__(*args, **kwargs)
+        self.db = db_file
         self.jinja = JinjaEnv(loader=JinjaFSLoader(templates_dir))
 
 
         self.jinja = JinjaEnv(loader=JinjaFSLoader(templates_dir))
 
 
@@ -46,7 +48,13 @@ class TaskHandler(BaseHTTPRequestHandler):
 
     def do_GET_calendar(self):
         """Show sorted Days."""
 
     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)
         days.sort()
         return self.server.jinja.get_template('calendar.html').render(
                 days=days)