Skip to content

Commit 468129d

Browse files
committed
fix: has_events_marked checks actual events not just key existence
1 parent c405619 commit 468129d

File tree

2 files changed

+2
-4
lines changed

2 files changed

+2
-4
lines changed

bitmapist/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ class MixinEventsMisc:
389389

390390
def has_events_marked(self):
391391
cli = get_redis(self.system)
392-
return bool(cli.exists(self.redis_key))
392+
return cli.bitcount(self.redis_key) > 0
393393

394394
def delete(self):
395395
cli = get_redis(self.system)

bitmapist/cohort/__init__.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -304,9 +304,7 @@ def timedelta_inc(delta: int) -> Union[relativedelta, timedelta]:
304304
select2b_events = fn_get_events(select2b, delta_now, system)
305305
select2_events = BitOpAnd(system, select2_events, select2b_events)
306306

307-
# Check if there are actually any events (not just if the key exists)
308-
# BitOpAnd creates a key even when result is 0, so we must check the count
309-
if len(select2_events) == 0:
307+
if not select2_events.has_events_marked():
310308
result.append("")
311309
continue
312310

0 commit comments

Comments
 (0)