X-Git-Url: https://plomlompom.com/repos/%7B%7Bprefix%7D%7D/balance2?a=blobdiff_plain;f=plomtask%2Fhttp.py;h=33961255889a2e00933e6110422ccb02e5aae88d;hb=11c4e6fc42ab96a13b18e8195c264899e31dddf0;hp=af1a60cd148ec86a83bf27bad8759a7e1cf74e6f;hpb=8ae8877e3e2588db76285e7e3ddfb8c7b9948a96;p=plomtask diff --git a/plomtask/http.py b/plomtask/http.py index af1a60c..3396125 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.exceptions import HandledException, BadFormatException +from plomtask.exceptions import HandledException, BadFormatException, \ + NotFoundException from plomtask.db import DatabaseConnection, DatabaseFile from plomtask.processes import Process @@ -47,9 +48,11 @@ class TaskHandler(BaseHTTPRequestHandler): 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!') - conn.commit() + raise NotFoundException(f'Unknown page: /{site}') conn.close() self._send_html(html) except HandledException as error: @@ -104,6 +107,8 @@ class TaskHandler(BaseHTTPRequestHandler): date: str, postvars: dict[str, list[str]]) -> None: """Update or insert Day of date and fields defined in postvars.""" day = Day.by_date(conn, date, create=True) + if 'comment' not in postvars.keys(): + raise BadFormatException('missing Day.comment value') day.comment = postvars['comment'][0] day.save(conn) @@ -111,6 +116,12 @@ class TaskHandler(BaseHTTPRequestHandler): postvars: dict[str, list[str]]) -> None: """Update or insert Process of id_ and fields defined in postvars.""" process = Process.by_id(conn, id_, create=True) + if 'title' not in postvars.keys(): + raise BadFormatException('missing Process.title value') + if 'description' not in postvars.keys(): + raise BadFormatException('missing Process.description value') + if 'effort' not in postvars.keys(): + raise BadFormatException('missing Process.effort value') process.title.set(postvars['title'][0]) process.description.set(postvars['description'][0]) effort = postvars['effort'][0]