示例#1
0
    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)
示例#2
0
 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 )
示例#3
0
 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)
示例#4
0
  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 )