Naive view project function

This commit is contained in:
2018-07-10 20:42:26 +02:00
parent 2217abb304
commit c6461f2e2b

View File

@@ -26,7 +26,8 @@ def handle_project(args, last_action, conn):
sys.exit(0)
if args[0].isdigit():
view_project()
# TODO I see that in the original pit, this command set project as active!
view_project(int(args[0]), last_action.task_id, conn)
sys.exit(0)
# Use sys.exit when no add/update in Database
@@ -177,7 +178,6 @@ def delete_project(project_id, conn):
print('deleted project {}: {}'.format(project_id, 'project_name'))
def list_project(active_project_id, conn):
logging.info('>> No arguments')
query = """
SELECT id, username, name, status,
(SELECT count(*) FROM task WHERE task.project_id = project.id)
@@ -189,9 +189,35 @@ def list_project(active_project_id, conn):
for row in cursor.fetchall():
logging.debug('Project row: {}'.format(row))
project_id, username, name, status, nb_task = row
# TODO Formatting track: https://stackoverflow.com/questions/9989334/create-nice-column-output-in-python
print('{:1} {:2d}: ({:8}) | {} | {} ({} tasks)'.format('*' if active_project_id == project_id else '',
project_id, username, status, name, nb_task))
def view_project():
print("TODO View Project")
#TODO
def view_project(project_id, act_task_id, conn):
# FIXME duplicate with list_project
query = """
SELECT id, username, name, status,
(SELECT count(*) FROM task WHERE task.project_id = project.id)
FROM project WHERE id = ?;
"""
cursor = conn.cursor()
cursor.execute(query, (project_id,))
row = cursor.fetchone()
print('* {:d}: ({}) {} (status: {}, {} tasks)'.format(*row))
# FIXME duplicate with list_task
query = """
SELECT id, username, name, status, priority, date, time,
(SELECT count(*) FROM note WHERE note.task_id = task.id)
FROM task WHERE project_id = ?
"""
cursor.execute(query, (project_id,))
for row in cursor.fetchall():
logging.debug('Task row: {}'.format(row))
task_id, username, name, status, priority, date, time, nb_note = row
message = date + time + name
print(' {} {:d}: ({}) [{}] [{}] {} ({} tasks)'.format('*' if act_task_id == row[0] else ' ',
task_id, username, status, priority, message, nb_note))
# TODO Add a -v option to see notes?