def __getitem__(self, key): row = select( [self._store.c.value], self._store.c.key == key, ).execute().fetchone() if row is not None: return self.loads(native(row.value), key) raise KeyError(key)
def __init__(self, engine, **kw): super(CassandraStore, self).__init__(engine, **kw) spliturl = urlsplit(engine) _, keyspace, column_family = spliturl.path.split('/') try: self._store = pycassa.ColumnFamily( pycassa.ConnectionPool(keyspace, [spliturl.hostname]), column_family, ) except pycassa.InvalidRequestException: from pycassa.system_manager import SystemManager # @UnresolvedImport @IgnorePep8 system_manager = SystemManager(spliturl[1]) system_manager.create_keyspace( keyspace, pycassa.system_manager.SIMPLE_STRATEGY, dict(replication_factor=native(kw.get('replication', 1))), ) system_manager.create_column_family(keyspace, column_family) self._store = pycassa.ColumnFamily( pycassa.ConnectionPool(keyspace, [spliturl.netloc]), column_family, ) except pycassa.NotFoundException: from pycassa.system_manager import SystemManager # @UnresolvedImport @IgnorePep8 system_manager = SystemManager(spliturl[1]) system_manager.create_column_family(keyspace, column_family) self._store = pycassa.ColumnFamily( pycassa.ConnectionPool(keyspace, [spliturl.netloc]), column_family, )
def __getitem__(self, key): row = select( [self._store.c.value], self._store.c.key == key, ).execute().fetchone() if row is not None: return self.loads(native(row.value)) raise KeyError(key)
def __getitem__(self, key): row = select([self._store.c.value, self._store.c.expires], self._store.c.key == key).execute().fetchone() if row is not None: # remove if item expired if row.expires < datetime.now().replace(microsecond=0): del self[key] raise KeyError(key) return self.loads(native(row.value)) raise KeyError(key)
def __getitem__(self, key): row = select( [self._store.c.value, self._store.c.expires], self._store.c.key == key ).execute().fetchone() if row is not None: # remove if item expired if row.expires < datetime.now().replace(microsecond=0): del self[key] raise KeyError(key) return self.loads(native(row.value)) raise KeyError(key)
def __init__(self, engine, **kw): super(CassandraStore, self).__init__(engine, **kw) spliturl = urlsplit(engine) _, keyspace, column_family = spliturl.path.split('/') try: self._store = pycassa.ColumnFamily( pycassa.ConnectionPool(keyspace, [spliturl.hostname]), column_family, ) except pycassa.InvalidRequestException: from pycassa.system_manager import SystemManager # @UnresolvedImport @IgnorePep8 system_manager = SystemManager(spliturl[1]) system_manager.create_keyspace( keyspace, pycassa.system_manager.SIMPLE_STRATEGY, dict(replication_factor=native(kw.get('replication', 1))), ) system_manager.create_column_family(keyspace, column_family) self._store = pycassa.ColumnFamily( pycassa.ConnectionPool(keyspace, [spliturl.netloc]), column_family, )
def items(self): '''List of items in the store.''' if self._updated or self._keys is None: self._keys = self._store.get_all_keys() return list((native(k.key), k) for k in self._keys)