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
|
parentid = task.taskid
|
||||||
return task
|
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):
|
def getParentTaskByName(self, name):
|
||||||
parts = name.split(':')
|
parts = name.split(':')
|
||||||
parentname = ':'.join(parts[:-1])
|
parentname = ':'.join(parts[:-1])
|
||||||
return self.getTaskByName(parentname)
|
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):
|
def createTask(self, name, longname, parentid):
|
||||||
c = self.conn.cursor()
|
c = self.conn.cursor()
|
||||||
if parentid is not None and parentid != '':
|
if parentid is not None and parentid != '':
|
||||||
|
6
dwtt
6
dwtt
@ -61,9 +61,9 @@ def main(argv):
|
|||||||
|
|
||||||
def processStart(cmd, store):
|
def processStart(cmd, store):
|
||||||
processOut(cmd, store)
|
processOut(cmd, store)
|
||||||
task = store.getTaskByName(cmd.argstr)
|
task = store.getTaskByShortName(cmd.argstr)
|
||||||
if task is None:
|
if task is None:
|
||||||
parent = store.getParentTaskByName(cmd.argstr)
|
parent = store.getParentTaskByShortName(cmd.argstr)
|
||||||
if parent is None:
|
if parent is None:
|
||||||
return 'Could not find task "%s"' % \
|
return 'Could not find task "%s"' % \
|
||||||
(':'.join(cmd.argstr.split(':')[:-1]))
|
(':'.join(cmd.argstr.split(':')[:-1]))
|
||||||
@ -94,7 +94,7 @@ def processTask(cmd, store):
|
|||||||
store.updateTask(task.taskid, nameparts[-1], longname)
|
store.updateTask(task.taskid, nameparts[-1], longname)
|
||||||
return False
|
return False
|
||||||
if len(nameparts) > 1:
|
if len(nameparts) > 1:
|
||||||
parenttask = store.getParentTaskByName(fullname)
|
parenttask = store.getParentTaskByShortName(fullname)
|
||||||
if parenttask is None:
|
if parenttask is None:
|
||||||
return 'Parent task not found'
|
return 'Parent task not found'
|
||||||
store.createTask(nameparts[-1].strip(), longname, parenttask.taskid)
|
store.createTask(nameparts[-1].strip(), longname, parenttask.taskid)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user