diff --git a/post_parser.py b/post_parser.py index de1ae87..04f48e6 100644 --- a/post_parser.py +++ b/post_parser.py @@ -105,10 +105,11 @@ class PostParser: logger.error(f"post_not_found_or_empty: channel {prepared_channel_id}, post_id {post_id}") return None + processed_message = self.process_message(message) if output_type == 'html': - return self._format_html(message, debug) + return self._format_html(processed_message, debug) elif output_type == 'json': - return self.process_message(message) + return processed_message else: logger.error(f"Invalid output type: {output_type}") return None @@ -447,9 +448,8 @@ class PostParser: return flags - def _format_html(self, message: Message, debug: bool = False) -> str: + def _format_html(self, data: Dict[str, Any], debug: bool = False) -> str: html_content = [] - data = self.process_message(message)['html'] if debug: html_content.append(f'
{str(message)}')
+ html_content.append(f'{data["raw_message"]}')
html_data = '\n'.join(html_content)
return html_data
@@ -476,7 +476,6 @@ class PostParser:
return ''
def process_message(self, message: Message) -> Dict[Any, Any]:
- logger.error(f"process_message message: {str(message)}")
result = {
'channel': self.get_channel_username(message),
'message_id': message.id,
@@ -494,7 +493,8 @@ class PostParser:
'views': message.views,
'reactions': self._extract_reactions(message),
'media_group_id': message.media_group_id,
- 'service': getattr(message, "service", None)
+ 'service': getattr(message, "service", None),
+ 'raw_message': str(message)
}
# Add webpage data if available
diff --git a/rss_generator.py b/rss_generator.py
index f0c43dd..8f89f93 100644
--- a/rss_generator.py
+++ b/rss_generator.py
@@ -207,7 +207,8 @@ async def _render_messages_groups(messages_groups: list[list[Message]],
for group in messages_groups:
try:
if len(group) == 1: # Single message - simple case
- message_data = post_parser.process_message(group[0])
+ one_message = group[0]
+ message_data = post_parser.process_message(one_message)
html_parts = [
f'',
f'',