summaryrefslogtreecommitdiff
path: root/server.py
diff options
context:
space:
mode:
authorMark Powers <mark@marks.kitchen>2023-01-30 22:26:19 -0600
committerMark Powers <mark@marks.kitchen>2023-01-30 22:27:26 -0600
commitad11ec7f93dca356748cb6c8bc49313a7ee7c3d7 (patch)
tree72418f494cd4b405cecdd5e6fbd539781e0c30e0 /server.py
parentb6c0e7dbc3b618ecca2449c4395ce857649521cf (diff)
Add form for new form
Diffstat (limited to 'server.py')
-rw-r--r--server.py24
1 files changed, 20 insertions, 4 deletions
diff --git a/server.py b/server.py
index be69c04..b678cf0 100644
--- a/server.py
+++ b/server.py
@@ -30,14 +30,19 @@ class TrackerHTTPRequestHandler(BaseHTTPRequestHandler):
cur.execute("UPDATE book SET completed = TRUE where id = %s", (book_id,))
conn.commit()
+ def send_static_file(self, path):
+ with open(f"static/{path}", "rb") as f:
+ self.send_response(200)
+ self.end_headers()
+ self.wfile.write(f.read())
+
def do_GET(self):
u = urlparse(self.path)
print("GET", u.path)
if u.path == "/":
- with open("index.html", "rb") as f:
- self.send_response(200)
- self.end_headers()
- self.wfile.write(f.read())
+ self.send_static_file("index.html")
+ elif u.path == "/new_form":
+ self.send_static_file("new_form.html")
elif date_pattern.match(u.path[1:]):
with conn.cursor() as cur:
cur.execute("SELECT datatype, key, value FROM datapoint where date(created) = %s", (u.path[1:],))
@@ -106,6 +111,17 @@ class TrackerHTTPRequestHandler(BaseHTTPRequestHandler):
self.send_response(204)
self.end_headers()
self.wfile.write(b"")
+ elif u.path == "/submit_new_form":
+ prompt_type = post_data.pop("type")
+ prompt = post_data.pop("prompt")
+ prompt_id = post_data.pop("prompt_id")
+ extra = json.dumps(post_data)
+ with conn.cursor() as cur:
+ cur.execute("INSERT INTO form (type, prompt, prompt_id, extra) VALUES (%s, %s, %s, %s)", (prompt_type, prompt, prompt_id, extra))
+ conn.commit()
+ self.send_response(204)
+ self.end_headers()
+ self.wfile.write(b"")
else:
self.send_response(404)
self.end_headers()