@@ -47,7 +47,7 @@ def _cf_add(key: CommandItem, item: bytes) -> int:
47
47
48
48
@staticmethod
49
49
def _cf_exist (key : CommandItem , item : bytes ) -> int :
50
- return 1 if (item in key .value ) else 0
50
+ return 1 if (key . value is not None and item in key .value ) else 0
51
51
52
52
@command (name = "CF.ADD" , fixed = (Key (ScalableCuckooFilter ), bytes ), repeat = (), flags = msgs .FLAG_DO_NOT_CREATE )
53
53
def cf_add (self , key : CommandItem , value : bytes ) -> int :
@@ -61,7 +61,11 @@ def cf_addnx(self, key: CommandItem, value: bytes) -> int:
61
61
62
62
@command (name = "CF.COUNT" , fixed = (Key (ScalableCuckooFilter ), bytes ), repeat = (), flags = msgs .FLAG_DO_NOT_CREATE )
63
63
def cf_count (self , key : CommandItem , item : bytes ) -> int :
64
- return 1 if self ._cf_exist (key , item ) else 0 # todo
64
+ if key .value is None :
65
+ return 0
66
+ if type (key .value ) is not ScalableCuckooFilter :
67
+ raise SimpleError (msgs .WRONGTYPE_MSG )
68
+ return key .value .count (item )
65
69
66
70
@command (name = "CF.DEL" , fixed = (Key (ScalableCuckooFilter ), bytes ), repeat = (), flags = msgs .FLAG_DO_NOT_CREATE )
67
71
def cf_del (self , key : CommandItem , value : bytes ) -> int :
0 commit comments