示例#1
0
def re_submit_job(jobid):
    session = bottle.request.environ.get('beaker.session')
    require_login(session)
    print "In resubmit =============================="

    item = dutils.get_job(request, jobid)

    mapping = {}
    for k in item.keys():
        v = item[k]
        print "{0} : {1}".format(k, v)

        if str(k) == 'outputs' or str(k) == 'inputs':
            mapping[k] = [
                o['src'] for o in v
                if o['src'] not in ['STDOUT.txt', 'STDERR.txt']
            ]
            print "string : ", mapping[k]

        else:
            mapping[k] = v

    print "Before trimming : ", mapping['outputs']
    if mapping.get('i_script_name', None) != None:
        mapping['outputs'].remove(mapping.get('i_script_name'))
    print "After trimming : ", mapping['outputs']

    if mapping.get('outputs', None) is not None:
        mapping['outputs'] = ', '.join(mapping['outputs'])
    else:
        mapping['outputs'] = ''

    if mapping.get('inputs', None) is not None:
        mapping['inputs'] = ', '.join(mapping['inputs'])
    else:
        mapping['inputs'] = ''

    jobtype = mapping.get('jobtype', None)
    #print "inputs: ", mapping['inputs']
    #print "outputs: ", mapping['outputs']

    if jobtype in JobTypes:
        t = template("./views/submit_{0}.tpl".format(jobtype),
                     email="",
                     username="",
                     jobtype=jobtype,
                     prefill=mapping,
                     session=session)

    else:
        t = template("./views/error.tpl",
                     error_str="{0} is not a valid Job Type".format(jobtype),
                     email="",
                     username="",
                     session=session)
    return t
示例#2
0
def re_submit_job(jobid):
    session = bottle.request.environ.get('beaker.session')
    require_login(session)
    print "In resubmit =============================="


    item = dutils.get_job(request, jobid)

    mapping = {}    
    for k in item.keys():
        v = item[k]
        print "{0} : {1}".format(k, v)

        if str(k) == 'outputs' or str(k) == 'inputs':
            mapping[k] = [o['src'] for o in v if o['src'] not in ['STDOUT.txt', 'STDERR.txt']]
            print "string : ", mapping[k]

        else:
            mapping[k] = v

    print "Before trimming : ", mapping['outputs']
    if mapping.get('i_script_name', None) != None:
        mapping['outputs'].remove(mapping.get('i_script_name'))
    print "After trimming : ", mapping['outputs']
    
    if mapping.get('outputs', None) is not None:
        mapping['outputs'] = ', '.join(mapping['outputs'])
    else:
        mapping['outputs'] = ''

    if mapping.get('inputs', None) is not None:
        mapping['inputs']  = ', '.join(mapping['inputs'])
    else:
        mapping['inputs'] = ''
    
    jobtype = mapping.get('jobtype', None)
    #print "inputs: ", mapping['inputs']
    #print "outputs: ", mapping['outputs']

    if jobtype in JobTypes :
        t = template("./views/submit_{0}.tpl".format(jobtype),
                     email="",
                     username="",
                     jobtype=jobtype,
                     prefill=mapping,
                     session=session)

    else:
        t = template("./views/error.tpl",
                     error_str="{0} is not a valid Job Type".format(jobtype),
                     email="",
                     username="",
                     session=session)
    return t
示例#3
0
def get_job_info(request, job_id):

    item = dutils.get_job(request, job_id)
    pairs = []
    for k in item.keys():

        if k.startswith("i_") and k != 'i_ispublished':
            continue

        if k in ['submit_time', 'complete_time', 'start_time']:
            pairs.append([
                k,
                time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(item[k]))
            ])

        elif k in ['inputs']:
            link = '<a href="{0}">{1}</a>'.format(item[k][0]['src'],
                                                  item[k][0]['dest'])
            pairs.append([k, link])

        elif k in ['outputs']:
            if item["status"].lower() not in ["completed", "failed"]:
                continue

            for out in item[k]:
                target = out["dest"].split('/', 1)
                signed_url = s3.generate_signed_url(
                    request.app.config["s3.conn"],
                    target[0],  # Bucket name
                    target[1],  # Prefix
                    1500)  # Duration
                if signed_url:
                    link = '<a href="{0}">{1}</a>'.format(
                        signed_url, out["src"])
                else:
                    link = "<i>{0}</i>".format(out["src"])

                pairs.append([k, link])

        else:
            pairs.append([k, item[k]])

    return pairs
示例#4
0
def get_job_info(request, job_id):

    item = dutils.get_job(request, job_id)
    pairs = []
    for k in item.keys():

        if k.startswith("i_") and k != 'i_ispublished':
            continue
        
        if k in ['submit_time', 'complete_time', 'start_time']:            
            pairs.append([k, time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(item[k]))])
        
        elif k in ['inputs']:
            link       = '<a href="{0}">{1}</a>'.format(item[k][0]['src'], 
                                                        item[k][0]['dest'])
            pairs.append([k, link])
            
        elif k in ['outputs']:
            if item["status"].lower() not in ["completed", "failed"]:
                continue

            for out in item[k]:
                target = out["dest"].split('/', 1)
                signed_url = s3.generate_signed_url(request.app.config["s3.conn"],
                                                    target[0], # Bucket name
                                                    target[1], # Prefix
                                                    1500)      # Duration
                if signed_url :
                    link       = '<a href="{0}">{1}</a>'.format(signed_url, out["src"])
                else:
                    link       = "<i>{0}</i>".format(out["src"])

                pairs.append([k, link])
                        
        else:
            pairs.append([k, item[k]])

    return pairs