From 5c41312b1d02c552eac31cb5316728b875c5632b Mon Sep 17 00:00:00 2001 From: Untone Date: Thu, 28 Mar 2024 19:51:09 +0300 Subject: [PATCH] with-stat-cached-fix-3 --- resolvers/author.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/resolvers/author.py b/resolvers/author.py index a5208fcd..fdcec894 100644 --- a/resolvers/author.py +++ b/resolvers/author.py @@ -54,19 +54,21 @@ def get_authors_all(_, _info): @query.field('get_author') -async def get_author(_, _info, slug='', author_id=None): +async def get_author(_, _info, slug='', author_id=0): author_dict = None try: author_query = '' author = None + author_id = 0 author_dict = None if slug: author_query = select(Author).filter(Author.slug == slug) [author] = await get_authors_with_stat_cached(author_query) - logger.debug(f'found @{slug} with id {author_id}') - if isinstance(author, Author): - author_id = author.id - author_query = select(Author.id).filter(Author.id == author_id) + if author: + author_id = author.id + logger.debug(f'found @{slug} with id {author_id}') + if author_id: + author_query = select(Author).filter(Author.id == author_id) cache_key = f'author:{author_id}' cache = await redis.execute('GET', cache_key) if cache and isinstance(cache, str):