From d74f5920d36484ac562ff8e99a99c6464eccaf4b Mon Sep 17 00:00:00 2001 From: Timur Demin Date: Wed, 12 Jun 2019 21:35:10 +0500 Subject: [PATCH] Refactor task API --- project_amber/handlers/task.py | 10 +++++++--- project_amber/helpers/task.py | 10 ++++------ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/project_amber/handlers/task.py b/project_amber/handlers/task.py index 28b8703..23a5079 100644 --- a/project_amber/handlers/task.py +++ b/project_amber/handlers/task.py @@ -61,7 +61,11 @@ def handle_task_request(): if not "text" in request.json: raise BadRequest("No text specified") text = request.json["text"] - new_id = addTask(text, user.id) + status = request.json.get("status") + # if only I could `get("status", d=0)` like we do that with dicts + if status is None: + status = 0 + new_id = addTask(text, status, user.id) return dumps({ "id": new_id }) def handle_task_id_request(task_id: int): @@ -95,7 +99,7 @@ def handle_task_id_request(task_id: int): "status": task.status, "last_mod": task.last_mod_time }) - elif request.method == "PATCH": + if request.method == "PATCH": text = None status = None if "text" in request.json: @@ -104,6 +108,6 @@ def handle_task_id_request(task_id: int): status = request.json["status"] updateTask(task_id, user.id, text=text, status=status) return EMPTY_RESP - elif request.method == "DELETE": + if request.method == "DELETE": removeTask(task_id, user.id) return EMPTY_RESP diff --git a/project_amber/helpers/task.py b/project_amber/helpers/task.py index 3c8d80b..5d5407f 100644 --- a/project_amber/helpers/task.py +++ b/project_amber/helpers/task.py @@ -5,15 +5,13 @@ from project_amber.errors import NotFound from project_amber.models.task import Task -def addTask(text: str, uid: int, **kwargs) -> int: +def addTask(text: str, status: int, uid: int) -> int: """ Creates a new task. Returns its ID. """ - status = 0 - if "status" in kwargs: - status = kwargs["status"] - task = Task(owner=uid, text=text, creation_time=time(), \ - last_mod_time=time(), status=status) + task_time = time() + task = Task(owner=uid, text=text, creation_time=task_time, \ + last_mod_time=task_time, status=status) db.session.add(task) db.session.commit() return task.id