home · contact · privacy
Add basic date ranging to Day.all().
[plomtask] / plomtask / http.py
index 4ce72ec69e823f07f4ce718cd82aea66024f9c0d..1af49d16b197bc607310f0f7c710b407b93e905b 100644 (file)
@@ -6,16 +6,16 @@ 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
-
-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):
-        x = super().__init__(*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):
@@ -48,7 +48,12 @@ class TaskHandler(BaseHTTPRequestHandler):
 
     def do_GET_calendar(self):
         """Show sorted Days."""
-        days = [Day('2024-01-03'), Day('2024-01-01'), Day('2024-01-02')]
-        days.sort()
+        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()
         return self.server.jinja.get_template('calendar.html').render(
                 days=days)