Esempio n. 1
0
 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,
         )
Esempio n. 3
0
 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)
Esempio n. 4
0
 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)
Esempio n. 5
0
File: db.py Progetto: hansent/shove
 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,
         )
Esempio n. 7
0
 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)
Esempio n. 8
0
 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)