#!/usr/bin/env python

import sys
import os
import time
import datetime

import DIRAC
from DIRAC.Core.Base import Script
Script.parseCommandLine( ignoreErrors = False )
from DIRAC.Core.DISET.RPCClient import RPCClient

def main():
    if len(sys.argv) != 2:
        print "One parameter (voname) expected, got %s !" % len(sys.argv)
        sys.exit(1)


    voname = sys.argv[1]
    os.environ["X509_USER_PROXY"] = "/tmp/%s.proxy" % voname

    rpcClient = RPCClient( "WorkloadManagement/JobMonitoring" )

    time_since = datetime.datetime.now() - datetime.timedelta(hours = 12)

    filtergroup = "%s_user" % voname

    job_filter = { 'OwnerGroup': filtergroup,
                   'Status': ["Running", "Waiting", "Done", "Failed"]
                 }

    jobs = rpcClient.getJobs(job_filter, time_since)
    if not jobs["OK"]:
        print "Could not retrieve jobs for %s " % voname
        sys.exit(1)
    # print jobs    
    jobs_since = jobs["Value"]
    jobs_since.sort()
    
    for jobid in jobs_since[-10:]:
        job_attr = rpcClient.getJobAttributes(int(jobid))
        if not job_attr["OK"]:
            print "Could not retreive job attributes for %s" %jobid
            continue
        print job_attr
    

if __name__ == "__main__":
  main()
