refactor PostParser and RSS generator to remove header generation and adjust body rendering

This commit is contained in:
vvzvlad
2025-04-18 05:06:26 +03:00
parent bbeab1fb33
commit c9d5f6b2f6
2 changed files with 6 additions and 14 deletions
+4 -10
View File
@@ -484,7 +484,6 @@ class PostParser:
'text': message.text or message.caption or '',
'html': {
'title': self._generate_title(message),
'header': self._generate_html_header(message),
'body': self._generate_html_body(message),
'media': self._generate_html_media(message),
'footer': self.generate_html_footer(message)
@@ -542,17 +541,12 @@ class PostParser:
logger.error(f"html_sanitization_error: {str(e)}")
return html_raw
def _generate_html_header(self, message: Message) -> str:
content_header = []
# Add forwarded from or reply info if present
if forward_html := self._format_forward_info(message): content_header.append(forward_html)
elif reply_html := self._format_reply_info(message): content_header.append(reply_html)
html_header = '\n'.join(content_header)
html_header = self._sanitize_html(html_header)
return html_header
def _generate_html_body(self, message: Message) -> str:
content_body = []
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)
if message.text: text = message.text.html
elif message.caption: text = message.caption.html
else: text = ''
+2 -4
View File
@@ -146,9 +146,8 @@ async def _render_messages_groups(messages_groups, post_parser, exclude_flags: s
if len(group) == 1: # Single message - simple case
message_data = post_parser.process_message(group[0])
html_parts = [
f'<div class="message-header">{message_data["html"]["header"]}</div>',
f'<div class="message-media">{message_data["html"]["media"]}</div>',
f'<div class="message-text">{message_data["html"]["body"]}</div>',
f'<div class="message-body">{message_data["html"]["body"]}</div>',
f'<div class="message-footer">{message_data["html"]["footer"]}</div>'
]
rendered_posts.append({
@@ -190,9 +189,8 @@ async def _render_messages_groups(messages_groups, post_parser, exclude_flags: s
footer_html = post_parser.generate_html_footer(main_message, flags_list=merged_flags)
html_parts = [
f'<div class="message-header">{main_message["html"]["header"]}</div>',
f'<div class="message-media">{combined_media}</div>',
f'<div class="message-text">{combined_html_body}</div>',
f'<div class="message-body">{combined_html_body}</div>',
f'<div class="message-footer">{footer_html}</div>'
]