#!/usr/bin/env python
from CodernityDB.database import Database
from CodernityDB.hash_index import HashIndex
class AllQueue(HashIndex):
def __init__(self, *args, **kwargs):
kwargs['key_format'] = '16s'
super(AllQueue, self).__init__(*args, **kwargs)
def make_key(self, key):
return key
def make_key_value(self, data):
if data.get('_t') == 'queues':
return data.get('qname'), None
class QueueItems(HashIndex):
def __init__(self, *args, **kwargs):
kwargs['key_format'] = '16s'
super(QueueItems, self).__init__(*args, **kwargs)
def make_key(self, key):
return key
def make_key_value(self, data):
if data.get('_t') == 'qitems':
return data.get('qidx'), None
def main():
db = Database('try02.cnd')
db.create()
queues_idx = AllQueue(db.path, 'queues')
db.add_index(queues_idx)
qitems_idx = QueueItems(db.path, 'qitems')
db.add_index(qitems_idx)
names=['sandy','dion','tino']
for thisname in names :
db.insert(dict(qname=thisname))
for i in range(5) :
qdataval='%s_%i' %(thisname,i)
thisdict=dict(qidx=thisname, qdata=qdataval)
db.insert(thisdict)
for curr in db.all('id'):
print curr
if __name__ == '__main__':
main()