diff --git a/main.py b/main.py index 5f58b2a..a7ac370 100644 --- a/main.py +++ b/main.py @@ -140,6 +140,7 @@ async def check_updates(): logging.warning('Lock acquired...') matched_posts = [] tag_list = set(tuple(t.decode().split()) for t in await redis.smembers('e621:subs')) + tag_list_flat = set(sum(tag_list, ())) last_post_version = int((await redis.get('e621:last_version') or b'0').decode()) post_versions: List[E621PostVersion] = [] logging.warning(f'Getting post versions from id {last_post_version}') @@ -152,6 +153,8 @@ async def check_updates(): for post_version in post_versions[::-1]: if post_version.id > last_post_version: last_post_version = post_version.id + if not bool(tag_list_flat & set(post_version.added_tags)): + continue post_tags = set(post_version.tags.split()) for tag_group in tag_list: if set(tag_group) <= post_tags: