#!/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()