From c654a5f2eb2ca63378cf07a1074a0a5e434b6a24 Mon Sep 17 00:00:00 2001 From: "Maxence G. de Montauzan" Date: Sat, 21 Jul 2018 18:13:25 +0200 Subject: [PATCH] Improve move task --- task.py | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/task.py b/task.py index 50626a7..ca44434 100644 --- a/task.py +++ b/task.py @@ -92,7 +92,7 @@ def handle_task(args, last_action, conn): else: args_i += 1 - moving_task(task_id, last_action.project_id, arg_number(args[args_i]), conn) + moving_task(task_id, arg_number(args[args_i]), conn) else: print(f"Invalid task option: {args[0]}") @@ -220,15 +220,19 @@ def edit_task(task, task_id, conn): ) -def moving_task(task_id, old_project_id, project_id, conn): +def moving_task(task_id, dest_project_id, conn): logging.info(">> Moving task") - query = """ - UPDATE task SET project_id = ? WHERE id = ?; - """ + or_project_id = get_task_project(task_id, conn) + + if or_project_id == dest_project_id: + print("Task already in project {} - nothing to do".format(dest_project_id)) + sys.exit(0) + + query = "UPDATE task SET project_id = ? WHERE id = ?;" cursor = conn.cursor() - cursor.execute(query, (project_id, task_id)) + cursor.execute(query, (dest_project_id, task_id)) if cursor.rowcount != 1: print("Problem occur when moving task...") @@ -236,12 +240,16 @@ def moving_task(task_id, old_project_id, project_id, conn): print( "moved task {}: from project {} to project {}".format( - task_id, old_project_id, project_id + task_id, or_project_id, dest_project_id ) ) record_action( - cursor, TypeAction.MOVE, "", project_id=project_id, task_id=task_id - ) # TODO Message + cursor, + TypeAction.MOVE, + "from project {} to project {}".format(or_project_id, dest_project_id), + project_id=dest_project_id, + task_id=task_id, + ) def delete_task(task_id, project_id, conn): @@ -356,6 +364,14 @@ def get_task_name(task_id, conn): return cursor.fetchone()[0] +def get_task_project(task_id, conn): + query = "SELECT project_id FROM task WHERE id = ?" + + cursor = conn.cursor() + cursor.execute(query, (task_id,)) + return cursor.fetchone()[0] + + # $ pit t 11 # * 11: (budd) a task (project: 1, status: in progress, priority: high, date: Apr 26, 2018, time: 5:00, 2 notes) # 6: (budd) bonjour le monde