示例#1
0
  def insert( self, params, meta ):
    '''
    Inserts args in the DB making use of kwargs where parameters such as
    the 'table' are specified ( filled automatically by the Client). Typically you 
    will not pass kwargs to this function, unless you know what are you doing 
    and you have a very special use case.

    :Parameters:
      **params** - `dict`
        arguments for the mysql query ( must match table columns ! ).

      **meta** - `dict`
        metadata for the mysql query. It must contain, at least, `table` key
        with the proper table name.

    :return: S_OK() || S_ERROR()
    '''

    utcnow = datetime.utcnow().replace( microsecond = 0 )

    # We force lastCheckTime to utcnow if it is not present on the params
    #if not( 'lastCheckTime' in params and not( params[ 'lastCheckTime' ] is None ) ):
    if 'lastCheckTime' in params and params[ 'lastCheckTime' ] is None:  
      params[ 'lastCheckTime' ] = utcnow  

    if 'dateEffective' in params and params[ 'dateEffective' ] is None:
      params[ 'dateEffective' ] = utcnow
    
    return MySQLWrapper.insert( self, params, meta )
示例#2
0
    def insert(self, params, meta):
        '''
    Inserts args in the DB making use of kwargs where parameters such as
    the 'table' are specified ( filled automatically by the Client). Typically you 
    will not pass kwargs to this function, unless you know what are you doing 
    and you have a very special use case.

    :Parameters:
      **params** - `dict`
        arguments for the mysql query ( must match table columns ! ).

      **meta** - `dict`
        metadata for the mysql query. It must contain, at least, `table` key
        with the proper table name.

    :return: S_OK() || S_ERROR()
    '''

        utcnow = datetime.utcnow().replace(microsecond=0)
        # We force lastCheckTime to utcnow if it is not present on the params
        #if not( 'lastCheckTime' in params and not( params[ 'lastCheckTime' ] is None ) ):
        if 'lastCheckTime' in params and params['lastCheckTime'] is None:
            params['lastCheckTime'] = utcnow

        # If it is a XStatus table, we force dateEffective to now.
        if 'table' in meta and meta['table'].endswith('Status'):
            if 'dateEffective' in params and params['dateEffective'] is None:
                params['dateEffective'] = utcnow

        return MySQLWrapper.insert(self, params, meta)