def save(self, storage=None): " Save object to redis storage" if self.embedded: logging.warning('You should save embedded objects with high level object') return if not self.id: new_id = RedisConn.incr(mkey(REDIS_NAMESPACE, self.__class__.__name__.lower() + '_key')) if self.__salt__: self.id = hashlib.md5(str(new_id) + self.__salt__).hexdigest() else: self.id = new_id RedisConn.set(mkey(REDIS_NAMESPACE, self.collection_name, self.id), json.dumps(self.__instdict__)) if self.expire != None: RedisConn.expire(mkey(REDIS_NAMESPACE, self.collection_name, self.id), self.expire)
def update(self, storage=None, **kwargs): '''update time expire''' print 'updating::' id = mkey(REDIS_NAMESPACE, self.collection_name, self.id) if 'expire' in kwargs: print TIME_TO_OVERWRITE_CLIENT_COOKIE, RedisConn.ttl(id) if TIME_TO_OVERWRITE_CLIENT_COOKIE > RedisConn.ttl(id): result = RedisConn.expire(id, kwargs['expire']) logging.info('UPDATE LIFETIME TO: %s SECONDS' % kwargs['expire']) return result else: logging.debug('non_update_SESSION') else: raise Exception('unknown action!!!')