#!/usr/bin/python2
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import os, sys, shutil
thisdir = os.path.dirname(os.path.abspath(sys.argv[0]))
sys.path.insert(0, os.path.abspath(os.path.join(thisdir, '../tko')))
import db

usage = "usage: delete_job_results <job tag>"

if len(sys.argv) < 2:
    print(usage)
    sys.exit(2)
tag = sys.argv[1]
resultsdir = os.path.abspath(os.path.join(thisdir, '../results', tag))

db = db.db()
if not db.find_job(tag):
    raise "Job tag %s does not exist in database" % tag

db.delete_job(tag)
shutil.rmtree(resultsdir)
