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
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
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
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