added short name lookups for tasks
This commit is contained in:
parent
99d37c6268
commit
1acaefb193
25
DataStore.py
25
DataStore.py
@ -150,11 +150,36 @@ WHERE name = ? AND parentid = ?
|
||||
parentid = task.taskid
|
||||
return task
|
||||
|
||||
def getTaskByShortName(self, name):
|
||||
if name.find(':') >= 0:
|
||||
return self.getTaskByName(name)
|
||||
task = None
|
||||
c = self.conn.cursor()
|
||||
c.execute('''
|
||||
SELECT id, name, longname, parentid
|
||||
FROM tasks
|
||||
WHERE name = ?
|
||||
''', (name,))
|
||||
count = 0
|
||||
for row in c:
|
||||
count += 1
|
||||
task = Task(*row)
|
||||
if count > 1:
|
||||
return None
|
||||
c.close()
|
||||
self.conn.commit()
|
||||
return task
|
||||
|
||||
def getParentTaskByName(self, name):
|
||||
parts = name.split(':')
|
||||
parentname = ':'.join(parts[:-1])
|
||||
return self.getTaskByName(parentname)
|
||||
|
||||
def getParentTaskByShortName(self, name):
|
||||
parts = name.split(':')
|
||||
parentname = ':'.join(parts[:-1])
|
||||
return self.getTaskByShortName(parentname)
|
||||
|
||||
def createTask(self, name, longname, parentid):
|
||||
c = self.conn.cursor()
|
||||
if parentid is not None and parentid != '':
|
||||
|
6
dwtt
6
dwtt
@ -61,9 +61,9 @@ def main(argv):
|
||||
|
||||
def processStart(cmd, store):
|
||||
processOut(cmd, store)
|
||||
task = store.getTaskByName(cmd.argstr)
|
||||
task = store.getTaskByShortName(cmd.argstr)
|
||||
if task is None:
|
||||
parent = store.getParentTaskByName(cmd.argstr)
|
||||
parent = store.getParentTaskByShortName(cmd.argstr)
|
||||
if parent is None:
|
||||
return 'Could not find task "%s"' % \
|
||||
(':'.join(cmd.argstr.split(':')[:-1]))
|
||||
@ -94,7 +94,7 @@ def processTask(cmd, store):
|
||||
store.updateTask(task.taskid, nameparts[-1], longname)
|
||||
return False
|
||||
if len(nameparts) > 1:
|
||||
parenttask = store.getParentTaskByName(fullname)
|
||||
parenttask = store.getParentTaskByShortName(fullname)
|
||||
if parenttask is None:
|
||||
return 'Parent task not found'
|
||||
store.createTask(nameparts[-1].strip(), longname, parenttask.taskid)
|
||||
|
Loading…
x
Reference in New Issue
Block a user