fix: Avoid exception awaiting index update

pull/940/head
Raphaël Vinot 2024-09-25 12:09:21 +02:00
parent 88212ee740
commit 6ccfb1c1e1
1 changed files with 8 additions and 0 deletions

View File

@ -462,6 +462,10 @@ class Indexing():
def get_captures_url_count(self, url: str) -> int: def get_captures_url_count(self, url: str) -> int:
md5 = hashlib.md5(url.encode()).hexdigest() md5 = hashlib.md5(url.encode()).hexdigest()
if self.redis.type(f'urls|{md5}|captures') == 'set': # type: ignore[no-untyped-call]
# triggers the re-index soon.
self.redis.srem('indexed_urls', *self.redis.smembers(f'urls|{md5}|captures'))
return []
return self.redis.zcard(f'urls|{md5}|captures') return self.redis.zcard(f'urls|{md5}|captures')
def get_captures_hostname(self, hostname: str, most_recent_capture: datetime | None = None, def get_captures_hostname(self, hostname: str, most_recent_capture: datetime | None = None,
@ -481,6 +485,10 @@ class Indexing():
return self.redis.zrevrangebyscore(f'hostnames|{hostname}|captures', max_score, min_score, withscores=True) return self.redis.zrevrangebyscore(f'hostnames|{hostname}|captures', max_score, min_score, withscores=True)
def get_captures_hostname_count(self, hostname: str) -> int: def get_captures_hostname_count(self, hostname: str) -> int:
if self.redis.type(f'hostnames|{hostname}|captures') == 'set': # type: ignore[no-untyped-call]
# triggers the re-index soon.
self.redis.srem('indexed_urls', *self.redis.smembers(f'hostnames|{hostname}|captures'))
return []
return self.redis.zcard(f'hostnames|{hostname}|captures') return self.redis.zcard(f'hostnames|{hostname}|captures')
def get_capture_url_counter(self, capture_uuid: str, url: str) -> int: def get_capture_url_counter(self, capture_uuid: str, url: str) -> int: