From 77d85ad3be8b94bbd3899ad73aba047387e74d86 Mon Sep 17 00:00:00 2001 From: vvzvlad Date: Tue, 15 Apr 2025 19:06:24 +0300 Subject: [PATCH] Update generate_html_footer to accept optional flags_list for improved flexibility in HTML generation --- post_parser.py | 15 +++++++++------ rss_generator.py | 3 +-- 2 files changed, 10 insertions(+), 8 deletions(-) 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"]}
',