Esempio n. 1
0
def postJobs():
  result = gOAManager.authorize()
  if not result[ 'OK' ]:
    bottle.abort( 401, result[ 'Message' ] )
  request = bottle.request
  if len( request.files ):
    result = uploadSandbox( request.files )
    if not result[ 'OK' ]:
      bottle.abort( 500, result[ 'Message' ] )
    isb = result[ 'Value' ]
  else:
    isb = False
  jobs = []
  wms = getWMSClient()
  for k in request.forms:
    origData = bottle.json_lds( request.forms[ k ] )
    jobData = origData
    if isb:
      if 'InputSandbox' not in jobData:
        jobData[ 'InputSandbox' ] = []
      jobData[ 'InputSandbox' ].append( isb )
    cfg = CFG.CFG().loadFromDict( jobData )
    jdl = dumpCFGAsJDL( cfg )
    result = wms.submitJob( jdl )
    if not result[ 'OK' ]:
      bottle.abort( 500, result[ 'Message' ] )
    jobs.append( result[ 'Value' ] )
  return { 'sandbox' : isb, 'jobs' : jobs }
Esempio n. 2
0
	def __jsoncall__(self, sess=lambda: None):
		try:
			b = request.body.read(request.MEMFILE_MAX)
			json = bottle.json_lds(b)
		except ValueError, e:
			return JSONParseError(e)