Update generate_html_footer to accept optional flags_list for improved flexibility in HTML generation

This commit is contained in:
vvzvlad
2025-04-15 19:06:24 +03:00
parent 8deb96ce38
commit 77d85ad3be
2 changed files with 10 additions and 8 deletions
+9 -6
View File
@@ -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('<br>')
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('<br>' + flags_html)
html_footer = '\n'.join(content_footer)
html_footer = self._sanitize_html(html_footer)
return html_footer
+1 -2
View File
@@ -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'<div class="message-header">{main_message["html"]["header"]}</div>',