diff --git a/dwtt b/dwtt index f947083..503f9c6 100755 --- a/dwtt +++ b/dwtt @@ -47,10 +47,41 @@ def doCmdWindow(): c = CmdWindow() return c.main() +def processStart(cmd, store): + pass + +def processOut(cmd, store): + pass + +def processTask(cmd, store): + parts = cmd.argstr.split(',', 1) + fullname = parts[0].strip() + longname = '' if len(parts) < 2 else parts[1].strip() + nameparts = fullname.split(':') + task = store.getTaskByName(fullname) + if task is not None: + # the task already exists, update it + store.updateTask(task.taskid, nameparts[-1], longname) + return False + parenttaskname = ':'.join(nameparts[:-1]) + parenttask = store.getTaskByName(parenttaskname) + if parenttask is None: + return 'Parent task not found' + store.createTask(nameparts[-1].strip(), longname, parenttask.taskid) + return False + +COMMAND_HANDLERS = { + 'start' : processStart, + 'out' : processOut, + 'task' : processTask + } + # Returns boolean for whether the command prompt should be displayed again def processCommand(cmd, store): - print cmd - return cmd.command == 'status' + if cmd.command in COMMAND_HANDLERS: + return COMMAND_HANDLERS[cmd.command](cmd, store) + # todo: error on command not found + return False if __name__ == "__main__": main(sys.argv)