def setRequest(self, requestName, requestString, desiredStatus=None): """ Set request to the database (including all sub-requests) :param self: self reference :param str requestName: request name :param str requestString: serilised request :param mixed desiredState: optional request status, defult = None """ self.log.info("setRequest: Attempting to set %s." % requestName) request = RequestContainer(requestString) requestTypes = request.getSubRequestTypes()["Value"] try: for requestType in requestTypes: subRequestString = request.toXML(desiredType=requestType)["Value"] if subRequestString: if desiredStatus: status = desiredStatus elif not request.isRequestTypeEmpty(requestType)["Value"]: status = "Waiting" else: status = "Done" subRequestDir = os.path.join(self.root, requestType, status) if not os.path.exists(subRequestDir): os.makedirs(subRequestDir) subRequestPath = os.path.join(subRequestDir, requestName) subRequestFile = open(subRequestPath, "w") subRequestFile.write(subRequestString) subRequestFile.close() self.log.info("setRequest: Successfully set %s." % requestName) return S_OK() except Exception, error: errStr = "setRequest: Exception while setting request." self.log.exception(errStr, requestName, lException=error) self.deleteRequest(requestName) return S_ERROR(errStr)
def setRequest( self, requestName, requestString, desiredStatus = None ): """ Set request to the database (including all sub-requests) """ gLogger.info( "RequestDBFile._setRequest: Attempting to set %s." % requestName ) request = RequestContainer( requestString ) requestTypes = request.getSubRequestTypes()['Value'] try: for requestType in requestTypes: subRequestString = request.toXML( desiredType = requestType )['Value'] if subRequestString: if desiredStatus: status = desiredStatus elif not request.isRequestTypeEmpty( requestType )['Value']: status = 'ToDo' else: status = 'Done' subRequestDir = '%s/%s/%s' % ( self.root, requestType, status ) if not os.path.exists( subRequestDir ): os.makedirs( subRequestDir ) subRequestPath = '%s/%s' % ( subRequestDir, requestName ) subRequestFile = open( subRequestPath, 'w' ) subRequestFile.write( subRequestString ) subRequestFile.close() gLogger.info( "RequestDBFile._setRequest: Successfully set %s." % requestName ) return S_OK() except Exception, x: errStr = "RequestDBFile._setRequest: Exception while setting request." gLogger.exception( errStr, requestName, lException = x ) self.deleteRequest( requestName ) return S_ERROR( errStr )
def setRequest(self, requestName, requestString, desiredStatus=None): """ Set request to the database (including all sub-requests) """ gLogger.info("RequestDBFile._setRequest: Attempting to set %s." % requestName) request = RequestContainer(requestString) requestTypes = request.getSubRequestTypes()['Value'] try: for requestType in requestTypes: subRequestString = request.toXML( desiredType=requestType)['Value'] if subRequestString: if desiredStatus: status = desiredStatus elif not request.isRequestTypeEmpty(requestType)['Value']: status = 'ToDo' else: status = 'Done' subRequestDir = os.path.join(self.root, requestType, status) if not os.path.exists(subRequestDir): os.makedirs(subRequestDir) subRequestPath = os.path.join(subRequestDir, requestName) subRequestFile = open(subRequestPath, 'w') subRequestFile.write(subRequestString) subRequestFile.close() gLogger.info("RequestDBFile._setRequest: Successfully set %s." % requestName) return S_OK() except Exception, x: errStr = "RequestDBFile._setRequest: Exception while setting request." gLogger.exception(errStr, requestName, lException=x) self.deleteRequest(requestName) return S_ERROR(errStr)
def setRequest( self, requestName, requestString, desiredStatus = None ): """ Set request to the database (including all sub-requests) :param self: self reference :param str requestName: request name :param str requestString: serilised request :param mixed desiredState: optional request status, defult = None """ self.log.info( "setRequest: Attempting to set %s." % requestName ) request = RequestContainer( requestString ) requestTypes = request.getSubRequestTypes()['Value'] try: for requestType in requestTypes: subRequestString = request.toXML( desiredType = requestType )['Value'] if subRequestString: if desiredStatus: status = desiredStatus elif not request.isRequestTypeEmpty( requestType )['Value']: status = 'Waiting' else: status = 'Done' subRequestDir = os.path.join( self.root, requestType, status ) if not os.path.exists( subRequestDir ): os.makedirs( subRequestDir ) subRequestPath = os.path.join( subRequestDir, requestName ) subRequestFile = open( subRequestPath, 'w' ) subRequestFile.write( subRequestString ) subRequestFile.close() self.log.info( "setRequest: Successfully set %s." % requestName ) return S_OK() except Exception, error: errStr = "setRequest: Exception while setting request." self.log.exception( errStr, requestName, lException = error ) self.deleteRequest( requestName ) return S_ERROR( errStr )