diff --git a/post_parser.py b/post_parser.py index d1b358b..e06e7a9 100644 --- a/post_parser.py +++ b/post_parser.py @@ -12,9 +12,8 @@ import os import json import html import inspect - from datetime import datetime -from typing import Union, Dict, Any, List +from typing import Union, Dict, Any, List, Optional from pyrogram.types import Message from pyrogram.enums import MessageMediaType from bleach.css_sanitizer import CSSSanitizer @@ -662,15 +661,19 @@ class PostParser: return None - def generate_html_footer(self, message: Message) -> str: + def generate_html_footer(self, message: Message, flags_list: Optional[List[str]] = None) -> str: content_footer = [] content_footer.append('
') if reactions_views_html := self._reactions_views_links(message): # Add reactions, views, date and links content_footer.append(reactions_views_html) - flags_list = self._extract_flags(message) - if flags_list: - flags_html = self._format_flags(flags_list) + + # Use provided flags_list if available, otherwise extract from message + current_flags = flags_list if flags_list is not None else self._extract_flags(message) + + if current_flags: + flags_html = self._format_flags(current_flags) content_footer.append('
' + flags_html) + html_footer = '\n'.join(content_footer) html_footer = self._sanitize_html(html_footer) return html_footer diff --git a/rss_generator.py b/rss_generator.py index 6356414..7ae1044 100644 --- a/rss_generator.py +++ b/rss_generator.py @@ -186,8 +186,7 @@ async def _render_messages_groups(messages_groups, post_parser, exclude_flags: s all_flags.update(msg['flags']) merged_flags = list(all_flags) # Convert back to list if needed, or keep as set - main_message['flags'] = merged_flags - footer_html = post_parser.generate_html_footer(main_message) + footer_html = post_parser.generate_html_footer(main_message, flags_list=merged_flags) html_parts = [ f'
{main_message["html"]["header"]}
',