aboutsummaryrefslogtreecommitdiff
path: root/src/db/task_tags.py
diff options
context:
space:
mode:
authorJoris2020-05-31 17:39:28 +0200
committerJoris2020-05-31 17:39:28 +0200
commit1bed85a9b107d1b03e71b848829cb7b1f33060f4 (patch)
tree7e9bc7dd0813b9426e293dde7913717746a479f8 /src/db/task_tags.py
parenta585e507cbe2c05cc846013cafe433953e514295 (diff)
downloadtodo-1bed85a9b107d1b03e71b848829cb7b1f33060f4.tar.gz
todo-1bed85a9b107d1b03e71b848829cb7b1f33060f4.tar.bz2
todo-1bed85a9b107d1b03e71b848829cb7b1f33060f4.zip
Prevent removing a tag being used
Diffstat (limited to 'src/db/task_tags.py')
-rw-r--r--src/db/task_tags.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/db/task_tags.py b/src/db/task_tags.py
index 34366e0..93dc627 100644
--- a/src/db/task_tags.py
+++ b/src/db/task_tags.py
@@ -4,6 +4,15 @@ from typing import List
from model.task_tag import TaskTag
+def one_is_used(cursor: Cursor, tag_ids: List[int]) -> bool:
+ if len(tag_ids) >= 1:
+ cursor.execute(
+ "SELECT task_id FROM task_tags WHERE tag_id IN (%s) LIMIT 1" % ",".join("?"*len(tag_ids)),
+ tag_ids)
+ return len(cursor.fetchall()) == 1
+ else:
+ return False
+
def get(cursor: Cursor) -> List[TaskTag]:
cursor.execute("SELECT task_id, tag_id FROM task_tags")
return [TaskTag(r[0], r[1]) for r in cursor.fetchall()]