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