Exemple #1
0
 def get_object(self, id=None,use_cache=True):
     session=self.session()
     raw_id = "o-%s" % tob(id)
     if use_cache:
         try:
             if session.check_obj(raw_id):
                 data = session.get_obj(raw_id)
                 if "_auto_id" in data:
                     return loads(data)
         except:
             log(ERROR,"CACHE read error")
     sql = "SELECT `auto_id`,`id`,`object`,`updated` FROM `"+self.table+"` WHERE `id`=%s"
     rows = session.connection.query(sql, tou(id))
     if rows:
         data = rows[0].object
         objstr = decompress(data)
         obj = loads(objstr)
         obj.update(dict(id=id))
         obj["_updated"] = rows[0].updated
         obj["_auto_id"] =rows[0].auto_id
         if use_cache:
             try:
                 session.set_obj(raw_id,dumps(obj))
             except:
                 log(ERROR,"CACHE write error")
         return obj
Exemple #2
0
 def update_object(self,object=None):
     session=self.session()
     raw_id = "o-%s" %object['id']
     datas = compress(dumps(object))
     key_id=object["_auto_id"]
     timestamp=datetime.datetime.now()
     sql = "UPDATE `" + self.table + "` SET `object`=%s,`updated`=%s WHERE `auto_id`=%s"
     session.connection.execute(sql, datas,timestamp,key_id)
     object['_updated'] = timestamp
     try:
         session.set_obj(raw_id,dumps(object))
     except:
         log(ERROR,"CACHE update error")