author-debug
Some checks failed
Deploy on push / deploy (push) Failing after 2m38s

This commit is contained in:
2025-09-01 09:07:37 +03:00
parent b044b26587
commit 30644f6513

View File

@@ -138,7 +138,19 @@ async def get_authors_with_stats(
"""
# Формируем ключ кеша с помощью универсальной функции
order_value = by.get("order", "default") if by else "default"
cache_key = f"authors:stats:limit={limit}:offset={offset}:order={order_value}"
# Добавляем фильтры в ключ кэша для правильного кэширования
filter_parts = []
if by:
if by.get("slug"):
filter_parts.append(f"slug={by['slug']}")
if by.get("id"):
filter_parts.append(f"id={by['id']}")
if by.get("stat"):
filter_parts.append(f"stat={by['stat']}")
filter_str = ":".join(filter_parts) if filter_parts else "all"
cache_key = f"authors:stats:limit={limit}:offset={offset}:order={order_value}:filter={filter_str}"
# Функция для получения авторов из БД
async def fetch_authors_with_stats() -> list[Any]:
@@ -742,8 +754,10 @@ async def get_author(
author_dict = None
try:
author_id = get_author_id_from(slug=slug, user="", author_id=author_id)
if not author_id:
logger.debug(f"🔍 get_author called with slug='{slug}', author_id={author_id}")
resolved_author_id = get_author_id_from(slug=slug, user="", author_id=author_id)
logger.debug(f"🔍 get_author_id_from returned: {resolved_author_id}")
if not resolved_author_id:
msg = "cant find"
raise ValueError(msg)
@@ -753,8 +767,10 @@ async def get_author(
filter_by: AuthorsBy = {}
if slug:
filter_by["slug"] = slug
elif author_id:
filter_by["id"] = author_id
logger.debug(f"🔍 Using slug filter: {slug}")
elif resolved_author_id:
filter_by["id"] = resolved_author_id
logger.debug(f"🔍 Using id filter: {resolved_author_id}")
authors_with_stats = await get_authors_with_stats(limit=1, offset=0, by=filter_by)
if authors_with_stats and len(authors_with_stats) > 0:
@@ -767,7 +783,7 @@ async def get_author(
if slug:
author = session.query(Author).filter_by(slug=slug).first()
else:
author = session.query(Author).filter_by(id=author_id).first()
author = session.query(Author).filter_by(id=resolved_author_id).first()
if author:
author_dict = author.dict(is_admin)
except Exception as e:
@@ -777,7 +793,7 @@ async def get_author(
if slug:
author = session.query(Author).filter_by(slug=slug).first()
else:
author = session.query(Author).filter_by(id=author_id).first()
author = session.query(Author).filter_by(id=resolved_author_id).first()
if author:
author_dict = author.dict(is_admin)
except ValueError: