Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 27 additions & 20 deletions redisbloom/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,10 @@ def spaceHolder(response):
def parseToList(response):
res = []
for item in response:
res.append(nativestr(item))
if item is not None:
res.append(nativestr(item))
else:
res.append(None)
return res

class Client(Redis): #changed from StrictRedis
Expand Down Expand Up @@ -101,34 +104,35 @@ def __init__(self, *args, **kwargs):
self.BF_RESERVE : bool_ok,
#self.BF_ADD : spaceHolder,
#self.BF_MADD : spaceHolder,
self.BF_INSERT : spaceHolder,
self.BF_EXISTS : spaceHolder,
self.BF_MEXISTS : spaceHolder,
self.BF_SCANDUMP : spaceHolder,
self.BF_LOADCHUNK : spaceHolder,
#self.BF_INSERT : spaceHolder,
#self.BF_EXISTS : spaceHolder,
#self.BF_MEXISTS : spaceHolder,
#self.BF_SCANDUMP : spaceHolder,
#self.BF_LOADCHUNK : spaceHolder,

self.CF_RESERVE : bool_ok,
self.CF_ADD : spaceHolder,
self.CF_ADDNX : spaceHolder,
self.CF_INSERT : spaceHolder,
self.CF_INSERTNX : spaceHolder,
self.CF_EXISTS : spaceHolder,
self.CF_DEL : spaceHolder,
self.CF_COUNT : spaceHolder,
self.CF_SCANDUMP : spaceHolder,
self.CF_LOADDUMP : spaceHolder,
#self.CF_ADD : spaceHolder,
#self.CF_ADDNX : spaceHolder,
#self.CF_INSERT : spaceHolder,
#self.CF_INSERTNX : spaceHolder,
#self.CF_EXISTS : spaceHolder,
#self.CF_DEL : spaceHolder,
#self.CF_COUNT : spaceHolder,
#self.CF_SCANDUMP : spaceHolder,
#self.CF_LOADDUMP : spaceHolder,


self.CMS_INITBYDIM : bool_ok,
self.CMS_INITBYPROB : bool_ok,
self.CMS_INCRBY : bool_ok,
self.CMS_QUERY : spaceHolder,
#self.CMS_QUERY : spaceHolder,
self.CMS_MERGE : bool_ok,
self.CMS_INFO : CMSInfo,

self.TOPK_RESERVE : bool_ok,
self.TOPK_ADD : bool_ok,
self.TOPK_QUERY : spaceHolder,
self.TOPK_COUNT : spaceHolder,
self.TOPK_ADD : parseToList,
#self.TOPK_QUERY : spaceHolder,
#self.TOPK_COUNT : spaceHolder,
self.TOPK_LIST : parseToList,
self.TOPK_INFO : TopKInfo,
}
Expand Down Expand Up @@ -460,10 +464,13 @@ def topkList(self, key):
"""
Return full list of items in Top-K list of ``key```.
"""

return self.execute_command(self.TOPK_LIST, key)

def topkInfo(self, key):
"""
Returns k, width, depth and decay values of ``key``.
"""
return self.execute_command(self.TOPK_INFO, key)

return self.execute_command(self.TOPK_INFO, key)

10 changes: 6 additions & 4 deletions test_commands.py
Original file line number Diff line number Diff line change
Expand Up @@ -154,10 +154,12 @@ def testCMSMerge(self):
################### Test Top-K ###################
def testTopK(self):
# test list with empty buckets
self.assertTrue(rb.topkReserve('topk', 10, 50, 3, 0.9))
self.assertTrue(rb.topkAdd('topk', 'A', 'B', 'C', 'D', 'E', 'A', 'A', 'B', 'C',
'G', 'D', 'B', 'D', 'A', 'E', 'E'))
self.assertEqual([1, 1, 1, 1, 1, 0, 1],
self.assertTrue(rb.topkReserve('topk', 3, 50, 4, 0.9))
self.assertEqual([None, None, None, None, None, None, None, None,
None, None, None, None, 'C', None, None, None, None],
rb.topkAdd('topk', 'A', 'B', 'C', 'D', 'E', 'A', 'A', 'B', 'C',
'G', 'D', 'B', 'D', 'A', 'E', 'E', 1))
self.assertEqual([1, 1, 0, 1, 0, 0, 0],
rb.topkQuery('topk', 'A', 'B', 'C', 'D', 'E', 'F', 'G'))
self.assertEqual([4, 3, 2, 3, 3, 0, 1],
rb.topkCount('topk', 'A', 'B', 'C', 'D', 'E', 'F', 'G'))
Expand Down