tags in task search
This commit is contained in:
parent
c6eda66e1b
commit
02658555d7
2 changed files with 12 additions and 7 deletions
12
model.py
12
model.py
|
@ -20,7 +20,12 @@ class Model:
|
|||
return self.conn.execute(query, tag_name)
|
||||
|
||||
def get_all_tasks(self):
|
||||
query = 'SELECT t.* FROM task t'
|
||||
query = '''
|
||||
SELECT t.*, GROUP_CONCAT(g.name, ' ') AS tag_names FROM task t
|
||||
LEFT JOIN tag_task tt ON tt.task_id = t.id
|
||||
LEFT JOIN tag g ON g.id = tt.tag_id
|
||||
GROUP BY t.id
|
||||
'''
|
||||
|
||||
return self.conn.execute(query)
|
||||
|
||||
|
@ -54,9 +59,8 @@ class Model:
|
|||
WHERE tt.task_id = ?
|
||||
'''
|
||||
tags = cursor.execute(tquery, (task['id'],))
|
||||
task['tags'] = []
|
||||
for tag in tags:
|
||||
task['tags'].append(tag)
|
||||
task['tags'] = [t for t in tags]
|
||||
task['tag_names'] = [t['name'] for t in tags]
|
||||
|
||||
return task
|
||||
|
||||
|
|
7
task.py
7
task.py
|
@ -1,6 +1,7 @@
|
|||
import re
|
||||
import sys
|
||||
import sqlite3
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
|
||||
from pyfzf.pyfzf import FzfPrompt
|
||||
|
@ -22,7 +23,7 @@ class Task:
|
|||
tasksData = self.model.get_all_tasks()
|
||||
|
||||
for t in tasksData:
|
||||
tasks.append('%s: %s' % (t['aid'], t['description']))
|
||||
tasks.append('%s: %s [ %s ]' % (t['aid'], t['description'], t['tag_names']))
|
||||
|
||||
selected = self.fzf.prompt(tasks)
|
||||
if selected:
|
||||
|
@ -174,7 +175,7 @@ Created: %s ''' % (task['aid'], tags, long_term, task['created_at'])
|
|||
def add_tags(self, aid):
|
||||
task = self.model.get_task(aid)
|
||||
unlinked_tags = self.model.get_tags_not_in_task(task['id'])
|
||||
if len(unlinked_tags) == 0:
|
||||
if type(unlinked_tags) is sqlite3.Cursor and unlinked_tags.rowcount == 0:
|
||||
print(bcolors.FAIL + 'Where is no more unlinked tags left...' + bcolors.ENDC)
|
||||
self.manage_task(aid)
|
||||
|
||||
|
|
Reference in a new issue