author_id-fix
All checks were successful
Deploy on push / deploy (push) Successful in 6s

This commit is contained in:
2025-05-29 18:56:55 +03:00
parent 6e5545b190
commit e375db4125
2 changed files with 27 additions and 11 deletions

View File

@@ -243,7 +243,7 @@ def get_author_followers_stat(author_id: int) -> int:
return result[0] if result else 0
def get_author_comments_stat(author_id):
def get_author_comments_stat(author_id: int):
q = (
select(func.coalesce(func.count(Reaction.id), 0).label("comments_count"))
.select_from(Author)
@@ -289,10 +289,28 @@ def get_with_stat(q):
stat["shouts"] = cols[1] # Статистика по публикациям
stat["followers"] = cols[2] # Статистика по подписчикам
if is_author:
stat["authors"] = get_author_authors_stat(entity.id) # Статистика по подпискам на авторов
stat["comments"] = get_author_comments_stat(entity.id) # Статистика по комментариям
# Дополнительная проверка типа entity.id
if not hasattr(entity, 'id'):
logger.error(f"Entity does not have id attribute: {entity}")
continue
entity_id = entity.id
if not isinstance(entity_id, int):
logger.error(f"Entity id is not integer: {entity_id} (type: {type(entity_id)})")
continue
stat["authors"] = get_author_authors_stat(entity_id) # Статистика по подпискам на авторов
stat["comments"] = get_author_comments_stat(entity_id) # Статистика по комментариям
else:
stat["authors"] = get_topic_authors_stat(entity.id) # Статистика по авторам темы
# Дополнительная проверка типа entity.id для тем
if not hasattr(entity, 'id'):
logger.error(f"Entity does not have id attribute: {entity}")
continue
entity_id = entity.id
if not isinstance(entity_id, int):
logger.error(f"Entity id is not integer: {entity_id} (type: {type(entity_id)})")
continue
stat["authors"] = get_topic_authors_stat(entity_id) # Статистика по авторам темы
entity.stat = stat
records.append(entity)
except Exception as exc: