summaryrefslogtreecommitdiffstats
path: root/git_taskrepo/taskrepo.py
diff options
context:
space:
mode:
Diffstat (limited to 'git_taskrepo/taskrepo.py')
-rw-r--r--git_taskrepo/taskrepo.py13
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):