import argparse
import sqlite3

parser = argparse.ArgumentParser(
    description='Update run status at MDC for a given run id.')
parser.add_argument('--sqlite-fpath', type=str, help='Path to sqlite file path',
                    default='/home/xcal/calibration_webservice/webservice/webservice_jobs.sqlite')  # noqa
parser.add_argument('--run', type=str, help='The run number required '
                                            ' for checking its job status.')
parser.add_argument('--proposal', type=str, help='Proposal numer')

args = vars(parser.parse_args())

sqlite_fpath = args['sqlite_fpath']
proposal = args['proposal'].zfill(6)
run = args['run']

conn = sqlite3.connect(sqlite_fpath)

c = conn.execute(
    "SELECT status, elapsed, karabo_id, det_type, action FROM "
    "slurm_jobs INNER JOIN executions USING (exec_id) "
    "INNER JOIN requests USING (req_id) "
    "WHERE proposal = ? AND run = ?",
    (proposal, run)
)

for r in c.fetchall():
    print(r)