X-Git-Url: https://plomlompom.com/repos//%22https:/validator.w3.org/check?a=blobdiff_plain;f=plomtask%2Fhttp.py;h=cd3e4459dbe96f6ad0a65cba6ddf45a3162f0f3f;hb=4724d02b2c8a7fac3029ae6380641c4093fa4554;hp=86db94d34ee5ea13630a3d550e9b9116cbfb1e48;hpb=2d743a08bdfa5c89831752a109a7afec3d44872d;p=plomtask diff --git a/plomtask/http.py b/plomtask/http.py index 86db94d..cd3e445 100644 --- a/plomtask/http.py +++ b/plomtask/http.py @@ -24,7 +24,7 @@ class TaskServer(HTTPServer): self.jinja = JinjaEnv(loader=JinjaFSLoader(TEMPLATES_DIR)) -class ParamsParser: # pylint: disable=too-few-public-methods +class ParamsParser: """Wrapper for validating and retrieving GET params.""" def __init__(self, params: dict[str, list[str]]) -> None: @@ -37,7 +37,7 @@ class ParamsParser: # pylint: disable=too-few-public-methods return self.params[key][0] def get_int_or_none(self, key: str) -> int | None: - """Retrieve int value of key yfrom self.params, on fail return None.""" + """Retrieve int value of key from self.params, on empty return None.""" if key not in self.params or not self.params[key]: return None val = self.params[key][0] @@ -128,7 +128,10 @@ class TaskHandler(BaseHTTPRequestHandler): form_data = PostvarsParser(postvars) if site in ('day', 'process'): getattr(self, f'do_POST_{site}')(conn, params, form_data) - conn.commit() + conn.commit() + else: + msg = f'Page not known as POST target: /{site}' + raise NotFoundException(msg) conn.close() self._redirect('/') except HandledException as error: @@ -144,7 +147,7 @@ class TaskHandler(BaseHTTPRequestHandler): def do_POST_process(self, conn: DatabaseConnection, params: ParamsParser, form_data: PostvarsParser) -> None: - """Update or insert Process of id_ and fields defined in postvars.""" + """Update or insert Process of ?id= and fields defined in postvars.""" id_ = params.get_int_or_none('id') process = Process.by_id(conn, id_, create=True) process.title.set(form_data.get_str('title'))