__filename__ = "conversation.py" __author__ = "Bob Mottram" __license__ = "AGPL3+" __version__ = "1.5.0" __maintainer__ = "Bob Mottram" __email__ = "bob@libreserver.org" __status__ = "Production" __module_group__ = "Timeline" import os from conversation import download_conversation_posts from utils import get_config_param from utils import get_nickname_from_actor from utils import get_domain_from_actor from utils import is_public_post from utils import get_attributed_to from blocking import is_blocked from webapp_utils import text_mode_browser from webapp_utils import html_header_with_external_style from webapp_utils import html_post_separator from webapp_utils import html_footer from webapp_post import individual_post_as_html def html_conversation_view(authorized: bool, post_id: str, translate: {}, base_dir: str, http_prefix: str, nickname: str, domain: str, project_version: str, recent_posts_cache: {}, max_recent_posts: int, session, cached_webfingers, person_cache: {}, port: int, yt_replace_domain: str, twitter_replacement_domain: str, show_published_date_only: bool, peertube_instances: [], allow_local_network_access: bool, theme_name: str, system_language: str, max_like_count: int, signing_priv_key_pem: str, cw_lists: {}, lists_enabled: str, timezone: str, bold_reading: bool, dogwhistles: {}, access_keys: {}, min_images_for_accounts: [], debug: bool, buy_sites: {}, blocked_cache: [], block_federated: [], auto_cw_cache: {}, ua_str: str) -> str: """Show a page containing a conversation thread """ conv_posts = \ download_conversation_posts(authorized, session, http_prefix, base_dir, nickname, domain, post_id, debug) if not conv_posts: return None css_filename = base_dir + '/epicyon-profile.css' if os.path.isfile(base_dir + '/epicyon.css'): css_filename = base_dir + '/epicyon.css' instance_title = \ get_config_param(base_dir, 'instanceTitle') conv_str = \ html_header_with_external_style(css_filename, instance_title, None) separator_str = html_post_separator(base_dir, None) text_mode_separator = '