#!/usr/bin/python
# -*- mode: Python; indent-tabs-mode: nil; -*-

import sys, os
import time

sys.path.append('/usr/share/plague/server')
import DBManager
import Config

def print_usage(prog):
    print "Usage:\n"
    print "   %s <server_config_file>\n\n" % prog


if __name__ == '__main__':
    if len(sys.argv) < 2:
        print_usage(sys.argv[0])
        sys.exit(1)

    configfile = sys.argv[1]
    if not os.access(configfile, os.R_OK):
        print "The config file '%s' does not exist or is not readable." % configfile
        sys.exit(1)

    # load database information from config file
    cfg = Config.ServerConfig(configfile)
    repodir = cfg.get_str("Directories", "repo_dir")

    dbm = DBManager.DBManager(cfg)
    dbcx = dbm.dbcx()
    curs = dbcx.cursor()
    
    today = time.time()
    expiretime = int(today-14*24*3600)
    curs.execute("DELETE FROM jobs WHERE (status='failed' OR status='finished') AND endtime<=%d" % expiretime)
    dbcx.commit()
    del curs
    del dbcx

    sys.exit(0)
