def update( self, params, meta ): ''' Updates row with values given on args. The row selection is done using the default of MySQLMonkey ( column.primary or column.keyColumn ). It can be modified using kwargs. The 'table' keyword argument is mandatory, and 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() ''' # 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' ] = datetime.utcnow().replace( microsecond = 0 ) return MySQLWrapper.update( self, params, meta )
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 )
def select( self, params, meta ): ''' Uses arguments to build conditional SQL statement ( WHERE ... ). If the sql statement desired is more complex, you can use kwargs to interact with the MySQL buildCondition parser and generate a more sophisticated query. :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() ''' return MySQLWrapper.select( self, params, meta )
def delete( self, params, meta ): ''' Uses arguments to build conditional SQL statement ( WHERE ... ). If the sql statement desired is more complex, you can use kwargs to interact with the MySQL buildCondition parser and generate a more sophisticated query. There is only one forbidden query, with all parameters None ( this would mean a query of the type `DELETE * from TableName` ). The usage of kwargs is the same as in the get function. :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() ''' return MySQLWrapper.delete( self, params, meta )
def delete(self, params, meta): ''' Uses arguments to build conditional SQL statement ( WHERE ... ). If the sql statement desired is more complex, you can use kwargs to interact with the MySQL buildCondition parser and generate a more sophisticated query. There is only one forbidden query, with all parameters None ( this would mean a query of the type `DELETE * from TableName` ). The usage of kwargs is the same as in the get function. :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() ''' return MySQLWrapper.delete(self, params, meta)
def update( self, params, meta ): ''' Updates row with values given on args. The row selection is done using the default of MySQLMonkey ( column.primary or column.keyColumn ). It can be modified using kwargs. The 'table' keyword argument is mandatory, and 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() ''' # We force lastCheckTime to utcnow if it is not present on the params if not( 'lastCheckTime' in params and not( params[ 'lastCheckTime' ] is None ) ): params[ 'lastCheckTime' ] = datetime.utcnow().replace( microsecond = 0 ) return MySQLWrapper.update( self, params, meta )