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 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.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)
         days.sort()
         return self.server.jinja.get_template('calendar.html').render(
                 days=days)