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" 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]: async def fetch_authors_with_stats() -> list[Any]:
@@ -742,8 +754,10 @@ async def get_author(
author_dict = None author_dict = None
try: try:
author_id = get_author_id_from(slug=slug, user="", author_id=author_id) logger.debug(f"🔍 get_author called with slug='{slug}', author_id={author_id}")
if not 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" msg = "cant find"
raise ValueError(msg) raise ValueError(msg)
@@ -753,8 +767,10 @@ async def get_author(
filter_by: AuthorsBy = {} filter_by: AuthorsBy = {}
if slug: if slug:
filter_by["slug"] = slug filter_by["slug"] = slug
elif author_id: logger.debug(f"🔍 Using slug filter: {slug}")
filter_by["id"] = author_id 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) 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: if authors_with_stats and len(authors_with_stats) > 0:
@@ -767,7 +783,7 @@ async def get_author(
if slug: if slug:
author = session.query(Author).filter_by(slug=slug).first() author = session.query(Author).filter_by(slug=slug).first()
else: else:
author = session.query(Author).filter_by(id=author_id).first() author = session.query(Author).filter_by(id=resolved_author_id).first()
if author: if author:
author_dict = author.dict(is_admin) author_dict = author.dict(is_admin)
except Exception as e: except Exception as e:
@@ -777,7 +793,7 @@ async def get_author(
if slug: if slug:
author = session.query(Author).filter_by(slug=slug).first() author = session.query(Author).filter_by(slug=slug).first()
else: else:
author = session.query(Author).filter_by(id=author_id).first() author = session.query(Author).filter_by(id=resolved_author_id).first()
if author: if author:
author_dict = author.dict(is_admin) author_dict = author.dict(is_admin)
except ValueError: except ValueError: