refactoring

This commit is contained in:
vvzvlad
2025-04-18 23:02:29 +03:00
parent d2870bc0f6
commit 26744e3699
2 changed files with 9 additions and 8 deletions
+7 -7
View File
@@ -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'<div class="title">Title: {data["title"]}</div>')
@@ -459,7 +459,7 @@ class PostParser:
# Add raw JSON debug output if debug is enabled
if debug:
html_content.append(f'<pre class="debug-json" style="background: #f5f5f5; padding: 10px; margin-top: 20px; overflow-x: auto; font-size: 10px; white-space: pre-wrap;">{str(message)}</pre>')
html_content.append(f'<pre class="debug-json" style="background: #f5f5f5; padding: 10px; margin-top: 20px; overflow-x: auto; font-size: 10px; white-space: pre-wrap;">{data["raw_message"]}</pre>')
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
+2 -1
View File
@@ -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'<div class="message-media">{message_data["html"]["media"]}</div>',
f'<div class="message-body">{message_data["html"]["body"]}</div>',