X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;ds=inline;f=plomtask%2Fhttp.py;h=1046eccbb1523c784717ca8d5f7a970d11404b85;hb=17be4d0a78f3d1b56df588807b6bda05bb2d8ebc;hp=ddea087cb38fae73c713da589ef901925141cc5e;hpb=3558a14701955de18ae7adbda0e93aaee7710a92;p=plomtask
diff --git a/plomtask/http.py b/plomtask/http.py
index ddea087..1046ecc 100644
--- a/plomtask/http.py
+++ b/plomtask/http.py
@@ -6,7 +6,8 @@ from urllib.parse import urlparse, parse_qs
from os.path import split as path_split
from jinja2 import Environment as JinjaEnv, FileSystemLoader as JinjaFSLoader
from plomtask.days import Day, todays_date
-from plomtask.misc import HandledException
+from plomtask.exceptions import HandledException, BadFormatException, \
+ NotFoundException
from plomtask.db import DatabaseConnection, DatabaseFile
from plomtask.processes import Process
@@ -43,17 +44,20 @@ class TaskHandler(BaseHTTPRequestHandler):
try:
id__ = int(id_) if id_ else None
except ValueError as e:
- raise HandledException(f'Bad ?id= value: {id_}') from e
+ raise BadFormatException(f'Bad ?id= value: {id_}') from e
html = self.do_GET_process(conn, id__)
elif 'processes' == site:
html = self.do_GET_processes(conn)
+ elif '' == site:
+ self._redirect('/day')
+ return
else:
- raise HandledException('Test!')
+ raise NotFoundException(f'Unknown page: /{site}')
conn.commit()
conn.close()
self._send_html(html)
except HandledException as error:
- self._send_msg(error)
+ self._send_msg(error, code=error.http_code)
def do_GET_calendar(self, conn: DatabaseConnection,
start: str, end: str) -> str:
@@ -92,13 +96,13 @@ class TaskHandler(BaseHTTPRequestHandler):
try:
id__ = int(id_) if id_ else None
except ValueError as e:
- raise HandledException(f'Bad ?id= value: {id_}') from e
+ raise BadFormatException(f'Bad ?id= value: {id_}') from e
self.do_POST_process(conn, id__, postvars)
conn.commit()
conn.close()
self._redirect('/')
except HandledException as error:
- self._send_msg(error)
+ self._send_msg(error, code=error.http_code)
def do_POST_day(self, conn: DatabaseConnection,
date: str, postvars: dict[str, list[str]]) -> None:
@@ -117,7 +121,7 @@ class TaskHandler(BaseHTTPRequestHandler):
try:
process.effort.set(float(effort))
except ValueError as e:
- raise HandledException(f'Bad effort value: {effort}') from e
+ raise BadFormatException(f'Bad effort value: {effort}') from e
process.save(conn)
def _init_handling(self) -> \