Example #1
0
 def loadJDL(self, jdlString):
     """
 Load job manifest from JDL format
 """
     result = loadJDLAsCFG(jdlString.strip())
     if not result["OK"]:
         self.__manifest = CFG()
         return result
     self.__manifest = result["Value"][0]
     return S_OK()
Example #2
0
 def loadJDL(self, jdlString):
     """
     Load job manifest from JDL format
     """
     result = loadJDLAsCFG(jdlString.strip())
     if not result["OK"]:
         self.__manifest = CFG()
         return result
     self.__manifest = result["Value"][0]
     return S_OK()
Example #3
0
 def loadDescriptionFromJDL( self, jdlString ):
   """
   Load job description from JDL format
   """
   result = loadJDLAsCFG( jdlString.strip() )
   if not result[ 'OK' ]:
     self.__description = CFG()
     return result
   self.__description = result[ 'Value' ][0]
   return S_OK()
Example #4
0
 def loadDescriptionFromJDL(self, jdlString):
     """
 Load job description from JDL format
 """
     result = loadJDLAsCFG(jdlString.strip())
     if not result['OK']:
         self.__description = CFG()
         return result
     self.__description = result['Value'][0]
     return S_OK()
Example #5
0
def __getJobDescription( jid ):
  result = getRPCClient( "WorkloadManagement/JobMonitoring" ).getJobJDL( jid )
  if not result[ 'OK' ]:
    bottle.abort( 500, result[ 'Message' ] )
  result = loadJDLAsCFG( result[ 'Value' ] )
  if not result[ 'OK' ]:
    bottle.abort( 500, result[ 'Message' ] )
  cfg = result[ 'Value' ][0]
  jobData = {}
  stack = [ ( cfg, jobData ) ]
  while stack:
    cfg, level = stack.pop( 0 )
    for op in cfg.listOptions():
      val = List.fromChar( cfg[ op ] )
      if len( val ) == 1:
        val = val[0]
      level[ op ] = val
    for sec in cfg.listSections():
      level[ sec ] = {}
      stack.append( ( cfg[ sec ], level[ sec ] ) )
  return jobData
Example #6
0
 def _getJobManifest( self, jid ):
   result = RPCClient( "WorkloadManagement/JobMonitoring" ).getJobJDL( int( jid  ) )
   if not result[ 'OK' ]:
     return WErr( 500, result[ 'Message' ] )
   result = loadJDLAsCFG( result[ 'Value' ] )
   if not result[ 'OK' ]:
     return WErr( 500, result[ 'Message' ] )
   cfg = result[ 'Value' ][0]
   jobData = {}
   stack = [ ( cfg, jobData ) ]
   while stack:
     cfg, level = stack.pop( 0 )
     for op in cfg.listOptions():
       val = List.fromChar( cfg[ op ] )
       if len( val ) == 1:
         val = val[0]
       level[ op ] = val
     for sec in cfg.listSections():
       level[ sec ] = {}
       stack.append( ( cfg[ sec ], level[ sec ] ) )
   return WOK( jobData )