From 46aadb93d964f3e3064573cf468e0df8ed403e04 Mon Sep 17 00:00:00 2001 From: vvzvlad Date: Fri, 18 Apr 2025 05:41:31 +0300 Subject: [PATCH] revert commit --- post_parser.py | 45 +++++++++++++-------------------------------- 1 file changed, 13 insertions(+), 32 deletions(-) diff --git a/post_parser.py b/post_parser.py index 72e0f10..fce6163 100644 --- a/post_parser.py +++ b/post_parser.py @@ -272,37 +272,14 @@ class PostParser: def _format_forward_info(self, message: Message) -> Union[str, None]: if forward_origin := getattr(message, "forward_origin", None): - sender_name = None - sender_link = None - - if hasattr(forward_origin, 'sender_user_name') and forward_origin.sender_user_name: - # Case 1: MessageOriginChannel - sender_name = forward_origin.sender_user_name - elif hasattr(forward_origin, 'sender_user') and forward_origin.sender_user: - # Case 2: MessageOriginUser - user = forward_origin.sender_user - first = getattr(user, 'first_name', '') - last = getattr(user, 'last_name', '') - sender_name = f"{first} {last}".strip() or "Unknown User" - elif hasattr(forward_origin, 'chat') and forward_origin.chat: - # Case 3: Logic for channels (e.g., MessageOriginChat) - sender_chat = forward_origin.chat - sender_name = getattr(sender_chat, "title", None) or getattr(sender_chat, "username", "Unknown channel") - if username := getattr(sender_chat, "username", None): - sender_link = f'https://t.me/{username}' - elif type(forward_origin).__name__ == 'MessageOriginHiddenUser': - # Case 4: MessageOriginHiddenUser - sender_name = "Hidden User" - else: - # Fallback if origin type is unexpected - sender_name = "Unknown Source" - - if sender_name: - forward_info = f"Forwarded from {sender_name}" - if sender_link: - forward_info = f'Forwarded from {sender_name}' - return f'
{forward_info}

' - + if sender_chat := getattr(forward_origin, "chat", None): + forward_title = getattr(sender_chat, "title", "Unknown channel") + forward_username = getattr(sender_chat, "username", None) + if forward_username: + forward_link = f'{forward_title} (@{forward_username})' + return f'
Forwarded from {forward_link}

' + return f'
Forwarded from {forward_title}

' + return None def _format_reply_info(self, message: Message) -> Union[str, None]: @@ -555,6 +532,10 @@ class PostParser: def _generate_html_body(self, message: Message) -> str: content_body = [] + test_fwd = self._format_forward_info(message) + test_reply = self._format_reply_info(message) + logger.error(f"Forward info: {test_fwd}, Reply info: {test_reply}") + if forward_html := self._format_forward_info(message): content_body.append(forward_html) elif reply_html := self._format_reply_info(message): content_body.append(reply_html) @@ -573,7 +554,7 @@ class PostParser: if poll := getattr(message, "poll", None): poll_html = self._format_poll(poll) - if text_html or poll_html: + if text_html or poll_html: content_body.append(f'
') if message.forward_origin: content_body.append(f"--------- FWD from {forward_title} ---------
") content_body.append(f'{text_html}')