diff options
Diffstat (limited to 'git_taskrepo/taskrepo.py')
-rw-r--r-- | git_taskrepo/taskrepo.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/git_taskrepo/taskrepo.py b/git_taskrepo/taskrepo.py index b53d782..026c1c4 100644 --- a/git_taskrepo/taskrepo.py +++ b/git_taskrepo/taskrepo.py @@ -24,6 +24,18 @@ class TRX_TestInfo(TRX): def only_ascii(s): return filter(lambda x: x in string.printable, s) +def _delete_taskrepo(taskrepo, taskname): + with taskrepo: + cur = taskrepo.cursor() + cur.execute("SELECT id FROM tasks WHERE name=?", (taskname,)) + result = cur.fetchone() + if result: + taskid = result[0] + for key in keys: + # Clear old values + cur.execute("DELETE FROM %s WHERE task_id=?" % key, (taskid,)) + cur.execute("DELETE FROM tasks WHERE id=?", (taskid,)) + def _update_taskrepo(taskrepo, taskname, testinfo): with taskrepo: cur = taskrepo.cursor() @@ -60,6 +72,7 @@ def update_taskrepo(repo, taskrepo, taskpath): raise _update_taskrepo(taskrepo, taskname, testinfo) else: + _delete_taskrepo(taskrepo, taskname) raise TRX_TestInfo('No testinfo.desc') def parse_testinfo(filename): |