From 26d8e88407be0fd611fb9c2c9e3e8a7de43f1a47 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Wed, 13 Jul 2022 12:11:57 +0100 Subject: [PATCH 01/10] Don't show left and right timeline columns in text-mode browser --- daemon.py | 78 +++++++++++++++++--------------- webapp_moderation.py | 4 +- webapp_timeline.py | 104 +++++++++++++++++++++++++------------------ 3 files changed, 104 insertions(+), 82 deletions(-) diff --git a/daemon.py b/daemon.py index c9f96d84d..438d32eb4 100644 --- a/daemon.py +++ b/daemon.py @@ -11751,7 +11751,8 @@ class PubServer(BaseHTTPRequestHandler): allow_deletion: bool, project_version: str, yt_replace_domain: str, - twitter_replacement_domain: str) -> bool: + twitter_replacement_domain: str, + ua_str: str) -> bool: """Shows the inbox timeline """ if '/users/' in path: @@ -11865,7 +11866,8 @@ class PubServer(BaseHTTPRequestHandler): self.server.cw_lists, self.server.lists_enabled, timezone, bold_reading, - self.server.dogwhistles) + self.server.dogwhistles, + ua_str) if getreq_start_time: fitness_performance(getreq_start_time, self.server.fitness, @@ -11928,7 +11930,7 @@ class PubServer(BaseHTTPRequestHandler): getreq_start_time, proxy_type: str, cookie: str, debug: str, - curr_session) -> bool: + curr_session, ua_str: str) -> bool: """Shows the DMs timeline """ if '/users/' in path: @@ -12036,7 +12038,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.cw_lists, self.server.lists_enabled, timezone, bold_reading, - self.server.dogwhistles) + self.server.dogwhistles, ua_str) msg = msg.encode('utf-8') msglen = len(msg) self._set_headers('text/html', msglen, @@ -12088,7 +12090,7 @@ class PubServer(BaseHTTPRequestHandler): onion_domain: str, i2p_domain: str, getreq_start_time, proxy_type: str, cookie: str, debug: str, - curr_session) -> bool: + curr_session, ua_str: str) -> bool: """Shows the replies timeline """ if '/users/' in path: @@ -12196,7 +12198,8 @@ class PubServer(BaseHTTPRequestHandler): self.server.cw_lists, self.server.lists_enabled, timezone, bold_reading, - self.server.dogwhistles) + self.server.dogwhistles, + ua_str) msg = msg.encode('utf-8') msglen = len(msg) self._set_headers('text/html', msglen, @@ -12248,7 +12251,7 @@ class PubServer(BaseHTTPRequestHandler): getreq_start_time, proxy_type: str, cookie: str, debug: str, - curr_session) -> bool: + curr_session, ua_str: str) -> bool: """Shows the media timeline """ if '/users/' in path: @@ -12354,7 +12357,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.cw_lists, self.server.lists_enabled, timezone, bold_reading, - self.server.dogwhistles) + self.server.dogwhistles, ua_str) msg = msg.encode('utf-8') msglen = len(msg) self._set_headers('text/html', msglen, @@ -12406,7 +12409,7 @@ class PubServer(BaseHTTPRequestHandler): getreq_start_time, proxy_type: str, cookie: str, debug: str, - curr_session) -> bool: + curr_session, ua_str: str) -> bool: """Shows the blogs timeline """ if '/users/' in path: @@ -12512,7 +12515,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.cw_lists, self.server.lists_enabled, timezone, bold_reading, - self.server.dogwhistles) + self.server.dogwhistles, ua_str) msg = msg.encode('utf-8') msglen = len(msg) self._set_headers('text/html', msglen, @@ -12565,7 +12568,7 @@ class PubServer(BaseHTTPRequestHandler): getreq_start_time, proxy_type: str, cookie: str, debug: str, - curr_session) -> bool: + curr_session, ua_str: str) -> bool: """Shows the news timeline """ if '/users/' in path: @@ -12679,7 +12682,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.cw_lists, self.server.lists_enabled, timezone, bold_reading, - self.server.dogwhistles) + self.server.dogwhistles, ua_str) msg = msg.encode('utf-8') msglen = len(msg) self._set_headers('text/html', msglen, @@ -12731,7 +12734,7 @@ class PubServer(BaseHTTPRequestHandler): getreq_start_time, proxy_type: str, cookie: str, debug: str, - curr_session) -> bool: + curr_session, ua_str: str) -> bool: """Shows the features timeline (all local blogs) """ if '/users/' in path: @@ -12849,7 +12852,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.cw_lists, self.server.lists_enabled, timezone, bold_reading, - self.server.dogwhistles) + self.server.dogwhistles, ua_str) msg = msg.encode('utf-8') msglen = len(msg) self._set_headers('text/html', msglen, @@ -12900,7 +12903,7 @@ class PubServer(BaseHTTPRequestHandler): getreq_start_time, proxy_type: str, cookie: str, debug: str, - curr_session) -> bool: + curr_session, ua_str: str) -> bool: """Shows the shares timeline """ if '/users/' in path: @@ -12968,7 +12971,8 @@ class PubServer(BaseHTTPRequestHandler): self.server.signing_priv_key_pem, self.server.cw_lists, self.server.lists_enabled, timezone, - bold_reading, self.server.dogwhistles) + bold_reading, self.server.dogwhistles, + ua_str) msg = msg.encode('utf-8') msglen = len(msg) self._set_headers('text/html', msglen, @@ -12994,7 +12998,7 @@ class PubServer(BaseHTTPRequestHandler): getreq_start_time, proxy_type: str, cookie: str, debug: str, - curr_session) -> bool: + curr_session, ua_str: str) -> bool: """Shows the wanted timeline """ if '/users/' in path: @@ -13062,7 +13066,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.cw_lists, self.server.lists_enabled, timezone, bold_reading, - self.server.dogwhistles) + self.server.dogwhistles, ua_str) msg = msg.encode('utf-8') msglen = len(msg) self._set_headers('text/html', msglen, @@ -13089,7 +13093,7 @@ class PubServer(BaseHTTPRequestHandler): getreq_start_time, proxy_type: str, cookie: str, debug: str, - curr_session) -> bool: + curr_session, ua_str: str) -> bool: """Shows the bookmarks timeline """ if '/users/' in path: @@ -13199,7 +13203,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.cw_lists, self.server.lists_enabled, timezone, bold_reading, - self.server.dogwhistles) + self.server.dogwhistles, ua_str) msg = msg.encode('utf-8') msglen = len(msg) self._set_headers('text/html', msglen, @@ -13250,7 +13254,7 @@ class PubServer(BaseHTTPRequestHandler): getreq_start_time, proxy_type: str, cookie: str, debug: str, - curr_session) -> bool: + curr_session, ua_str: str) -> bool: """Shows the outbox timeline """ # get outbox feed for a person @@ -13350,7 +13354,7 @@ class PubServer(BaseHTTPRequestHandler): self.server.cw_lists, self.server.lists_enabled, timezone, bold_reading, - self.server.dogwhistles) + self.server.dogwhistles, ua_str) msg = msg.encode('utf-8') msglen = len(msg) self._set_headers('text/html', msglen, @@ -13390,7 +13394,7 @@ class PubServer(BaseHTTPRequestHandler): getreq_start_time, proxy_type: str, cookie: str, debug: str, - curr_session) -> bool: + curr_session, ua_str: str) -> bool: """Shows the moderation timeline """ if '/users/' in path: @@ -13498,7 +13502,8 @@ class PubServer(BaseHTTPRequestHandler): self.server.cw_lists, self.server.lists_enabled, timezone, bold_reading, - self.server.dogwhistles) + self.server.dogwhistles, + ua_str) msg = msg.encode('utf-8') msglen = len(msg) self._set_headers('text/html', msglen, @@ -18091,7 +18096,8 @@ class PubServer(BaseHTTPRequestHandler): self.server.allow_deletion, self.server.project_version, self.server.yt_replace_domain, - self.server.twitter_replacement_domain): + self.server.twitter_replacement_domain, + ua_str): self.server.getreq_busy = False return @@ -18114,7 +18120,7 @@ class PubServer(BaseHTTPRequestHandler): getreq_start_time, proxy_type, cookie, self.server.debug, - curr_session): + curr_session, ua_str): self.server.getreq_busy = False return @@ -18137,7 +18143,7 @@ class PubServer(BaseHTTPRequestHandler): getreq_start_time, proxy_type, cookie, self.server.debug, - curr_session): + curr_session, ua_str): self.server.getreq_busy = False return @@ -18160,7 +18166,7 @@ class PubServer(BaseHTTPRequestHandler): getreq_start_time, proxy_type, cookie, self.server.debug, - curr_session): + curr_session, ua_str): self.server.getreq_busy = False return @@ -18183,7 +18189,7 @@ class PubServer(BaseHTTPRequestHandler): getreq_start_time, proxy_type, cookie, self.server.debug, - curr_session): + curr_session, ua_str): self.server.getreq_busy = False return @@ -18206,7 +18212,7 @@ class PubServer(BaseHTTPRequestHandler): getreq_start_time, proxy_type, cookie, self.server.debug, - curr_session): + curr_session, ua_str): self.server.getreq_busy = False return @@ -18226,7 +18232,7 @@ class PubServer(BaseHTTPRequestHandler): getreq_start_time, proxy_type, cookie, self.server.debug, - curr_session): + curr_session, ua_str): self.server.getreq_busy = False return @@ -18248,7 +18254,7 @@ class PubServer(BaseHTTPRequestHandler): getreq_start_time, proxy_type, cookie, self.server.debug, - curr_session): + curr_session, ua_str): self.server.getreq_busy = False return @@ -18266,7 +18272,7 @@ class PubServer(BaseHTTPRequestHandler): getreq_start_time, proxy_type, cookie, self.server.debug, - curr_session): + curr_session, ua_str): self.server.getreq_busy = False return @@ -18368,7 +18374,7 @@ class PubServer(BaseHTTPRequestHandler): getreq_start_time, proxy_type, cookie, self.server.debug, - curr_session): + curr_session, ua_str): self.server.getreq_busy = False return @@ -18392,7 +18398,7 @@ class PubServer(BaseHTTPRequestHandler): getreq_start_time, proxy_type, cookie, self.server.debug, - curr_session): + curr_session, ua_str): self.server.getreq_busy = False return @@ -18416,7 +18422,7 @@ class PubServer(BaseHTTPRequestHandler): getreq_start_time, proxy_type, cookie, self.server.debug, - curr_session): + curr_session, ua_str): self.server.getreq_busy = False return diff --git a/webapp_moderation.py b/webapp_moderation.py index f0f358e19..ed41862ad 100644 --- a/webapp_moderation.py +++ b/webapp_moderation.py @@ -58,7 +58,7 @@ def html_moderation(default_timeline: str, signing_priv_key_pem: str, cw_lists: {}, lists_enabled: str, timezone: str, bold_reading: bool, - dogwhistles: {}) -> str: + dogwhistles: {}, ua_str: str) -> str: """Show the moderation feed as html This is what you see when selecting the "mod" timeline """ @@ -84,7 +84,7 @@ def html_moderation(default_timeline: str, text_mode_banner, access_keys, system_language, max_like_count, shared_items_federated_domains, signing_priv_key_pem, cw_lists, lists_enabled, - timezone, bold_reading, dogwhistles) + timezone, bold_reading, dogwhistles, ua_str) def html_account_info(translate: {}, diff --git a/webapp_timeline.py b/webapp_timeline.py index 09ca34c07..25263ec08 100644 --- a/webapp_timeline.py +++ b/webapp_timeline.py @@ -382,6 +382,14 @@ def _html_timeline_keyboard(moderator: bool, text_mode_banner: str, follow_approvals) +def _text_mode_browser(ua_str: str) -> bool: + """Does the user agent indicate a text mode browser? + """ + if 'Lynx/' in ua_str: + return True + return False + + def _html_timeline_end(base_dir: str, nickname: str, domain_full: str, http_prefix: str, translate: {}, moderator: bool, editor: bool, @@ -391,7 +399,8 @@ def _html_timeline_end(base_dir: str, nickname: str, domain_full: str, authorized: bool, theme: str, default_timeline: str, access_keys: {}, box_name: str, - enable_timing_log: bool, timeline_start_time) -> str: + enable_timing_log: bool, timeline_start_time, + ua_str: str) -> str: """Ending of the timeline, containing the right column """ # end of timeline-posts @@ -401,17 +410,19 @@ def _html_timeline_end(base_dir: str, nickname: str, domain_full: str, tl_str += ' \n' # right column - right_column_str = \ - get_right_column_content(base_dir, nickname, domain_full, - http_prefix, translate, - moderator, editor, - newswire, positive_voting, - False, None, True, - show_publish_as_icon, - rss_icon_at_top, - publish_button_at_top, - authorized, True, theme, - default_timeline, access_keys) + right_column_str = '' + if not _text_mode_browser(ua_str): + right_column_str = \ + get_right_column_content(base_dir, nickname, domain_full, + http_prefix, translate, + moderator, editor, + newswire, positive_voting, + False, None, True, + show_publish_as_icon, + rss_icon_at_top, + publish_button_at_top, + authorized, True, theme, + default_timeline, access_keys) tl_str += ' \n' + \ '