diff --git a/daemon.py b/daemon.py index c9f96d84d..8c8325026 100644 --- a/daemon.py +++ b/daemon.py @@ -183,6 +183,7 @@ from webapp_confirm import html_confirm_unblock from webapp_person_options import person_minimize_images from webapp_person_options import person_undo_minimize_images from webapp_person_options import html_person_options +from webapp_timeline import text_mode_browser from webapp_timeline import html_shares from webapp_timeline import html_wanted from webapp_timeline import html_inbox @@ -655,12 +656,12 @@ class PubServer(BaseHTTPRequestHandler): if 'audio/' in accept_str: if 'text/html' not in accept_str: return False - if accept_str.startswith('*'): + if accept_str.startswith('*') or 'text/html' in accept_str: if self.headers.get('User-Agent'): - if 'ELinks' in self.headers['User-Agent'] or \ - 'Lynx' in self.headers['User-Agent']: + if text_mode_browser(self.headers['User-Agent']): return True - return False + if 'text/html' not in accept_str: + return False if 'json' in accept_str: return False return True @@ -11751,7 +11752,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 +11867,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 +11931,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 +12039,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 +12091,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 +12199,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 +12252,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 +12358,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 +12410,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 +12516,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 +12569,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 +12683,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 +12735,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 +12853,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 +12904,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 +12972,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 +12999,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 +13067,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 +13094,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 +13204,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 +13255,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 +13355,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 +13395,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 +13503,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 +18097,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 +18121,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 +18144,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 +18167,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 +18190,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 +18213,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 +18233,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 +18255,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 +18273,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 +18375,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 +18399,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 +18423,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_headerbuttons.py b/webapp_headerbuttons.py index 14670319f..5ee09a099 100644 --- a/webapp_headerbuttons.py +++ b/webapp_headerbuttons.py @@ -47,86 +47,23 @@ def header_buttons_timeline(default_timeline: str, calendar_image: str, follow_approvals: str, icons_as_buttons: bool, - access_keys: {}) -> str: + access_keys: {}, + is_text_browser: str) -> str: """Returns the header at the top of the timeline, containing buttons for inbox, outbox, search, calendar, etc """ # start of the button header with inbox, outbox, etc tl_str = '