class AuctionsMapping(object): """Mapping for processed auctions""" def __init__(self, config): self.config = config if 'host' in self.config: config = { 'host': self.config.get('host'), 'port': self.config.get('port') or 6379, 'db': self.config.get('name') or 0, 'password': self.config.get('password') or None } self.db = StrictRedis(**config) LOGGER.info('Set redis store "{db}" at {host}:{port} ' 'as auctions mapping'.format(**config)) self._set_value = self.db.set self._has_value = self.db.exists else: db = self.config.get('name', 'auctions_mapping') self.db = LazyDB(db) LOGGER.info('Set lazydb "{}" as auctions mapping'.format(db)) self._set_value = self.db.put self._has_value = self.db.has def get(self, key): return self.db.get(key) def put(self, key, value, **kwargs): LOGGER.info('Save ID {} in cache'.format(key)) self._set_value(key, value, **kwargs) def has(self, key): return self._has_value(key) def delete(self, key): return self.db.delete(key)