From da67f07e5fad61babe2022972caa1d2d0a155b99 Mon Sep 17 00:00:00 2001 From: vvzvlad Date: Wed, 5 Feb 2025 05:06:28 +0300 Subject: [PATCH] Improve author info handling with null checks and safer attribute retrieval --- post_parser.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/post_parser.py b/post_parser.py index a2d496d..bbd3b9c 100644 --- a/post_parser.py +++ b/post_parser.py @@ -100,13 +100,18 @@ class PostParser: def _get_author_info(self, message: Message) -> str: if message.sender_chat: - title = getattr(message.sender_chat, 'title', '').strip() - username = getattr(message.sender_chat, 'username', '').strip() + title = getattr(message.sender_chat, 'title', None) + username = getattr(message.sender_chat, 'username', None) + title = title.strip() if title else '' + username = username.strip() if username else '' return f"{title} (@{username})" if username else title elif message.from_user: - first = getattr(message.from_user, 'first_name', '').strip() - last = getattr(message.from_user, 'last_name', '').strip() - username = getattr(message.from_user, 'username', '').strip() + first = getattr(message.from_user, 'first_name', None) + last = getattr(message.from_user, 'last_name', None) + username = getattr(message.from_user, 'username', None) + first = first.strip() if first else '' + last = last.strip() if last else '' + username = username.strip() if username else '' name = ' '.join(filter(None, [first, last])) return f"{name} (@{username})" if username else name return "Unknown author"