main
Bob Mottram 2024-04-28 11:28:29 +01:00
parent c15c71a416
commit c08e373e7f
2 changed files with 127 additions and 59 deletions

View File

@ -4741,7 +4741,48 @@ def daemon_http_get(self) -> None:
getreq_start_time, getreq_start_time,
cookie, self.server.debug, cookie, self.server.debug,
curr_session, ua_str, curr_session, ua_str,
MAX_POSTS_IN_BLOGS_FEED): MAX_POSTS_IN_BLOGS_FEED,
self.server.recent_posts_cache,
self.server.positive_voting,
self.server.voting_time_mins,
self.server.full_width_tl_button_header,
self.server.access_keys,
self.server.key_shortcuts,
self.server.shared_items_federated_domains,
self.server.allow_local_network_access,
self.server.twitter_replacement_domain,
self.server.account_timezone,
self.server.bold_reading,
self.server.reverse_sequence,
self.server.default_timeline,
self.server.max_recent_posts,
self.server.translate,
self.server.cached_webfingers,
self.server.person_cache,
self.server.allow_deletion,
self.server.project_version,
self.server.yt_replace_domain,
self.server.show_published_date_only,
self.server.newswire,
self.server.show_publish_as_icon,
self.server.icons_as_buttons,
self.server.rss_icon_at_top,
self.server.publish_button_at_top,
self.server.theme_name,
self.server.peertube_instances,
self.server.text_mode_banner,
self.server.system_language,
self.server.max_like_count,
self.server.signing_priv_key_pem,
self.server.cw_lists,
self.server.lists_enabled,
self.server.dogwhistles,
self.server.min_images_for_accounts,
self.server.buy_sites,
self.server.auto_cw_cache,
self.server.fitness,
self.server.onion_domain,
self.server.i2p_domain):
self.server.getreq_busy = False self.server.getreq_busy = False
return return

View File

@ -250,13 +250,54 @@ def show_blogs_timeline(self, authorized: bool,
getreq_start_time, getreq_start_time,
cookie: str, debug: str, cookie: str, debug: str,
curr_session, ua_str: str, curr_session, ua_str: str,
max_posts_in_blogs_feed: int) -> bool: max_posts_in_blogs_feed: int,
recent_posts_cache: {},
positive_voting: bool,
voting_time_mins: int,
full_width_tl_button_header: bool,
access_keys: {},
key_shortcuts: {},
shared_items_federated_domains: [],
allow_local_network_access: bool,
twitter_replacement_domain: str,
account_timezone: {},
bold_reading_nicknames: {},
reverse_sequence_nicknames: [],
default_timeline: str,
max_recent_posts: int,
translate: {},
cached_webfingers: {},
person_cache: {},
allow_deletion: bool,
project_version: str,
yt_replace_domain: str,
show_published_date_only: bool,
newswire: {},
show_publish_as_icon: bool,
icons_as_buttons: bool,
rss_icon_at_top: bool,
publish_button_at_top: bool,
theme_name: str,
peertube_instances: [],
text_mode_banner: str,
system_language: str,
max_like_count: int,
signing_priv_key_pem: str,
cw_lists: {},
lists_enabled: {},
dogwhistles: {},
min_images_for_accounts: [],
buy_sites: [],
auto_cw_cache: {},
fitness: {},
onion_domain: str,
i2p_domain: str) -> bool:
"""Shows the blogs timeline """Shows the blogs timeline
""" """
if '/users/' in path: if '/users/' in path:
if authorized: if authorized:
inbox_blogs_feed = \ inbox_blogs_feed = \
person_box_json(self.server.recent_posts_cache, person_box_json(recent_posts_cache,
base_dir, base_dir,
domain, domain,
port, port,
@ -264,8 +305,8 @@ def show_blogs_timeline(self, authorized: bool,
http_prefix, http_prefix,
max_posts_in_blogs_feed, 'tlblogs', max_posts_in_blogs_feed, 'tlblogs',
True, True,
0, self.server.positive_voting, 0, positive_voting,
self.server.voting_time_mins) voting_time_mins)
if not inbox_blogs_feed: if not inbox_blogs_feed:
inbox_blogs_feed = [] inbox_blogs_feed = []
if request_http(self.headers, debug): if request_http(self.headers, debug):
@ -286,7 +327,7 @@ def show_blogs_timeline(self, authorized: bool,
if 'page=' not in path: if 'page=' not in path:
# if no page was specified then show the first # if no page was specified then show the first
inbox_blogs_feed = \ inbox_blogs_feed = \
person_box_json(self.server.recent_posts_cache, person_box_json(recent_posts_cache,
base_dir, base_dir,
domain, domain,
port, port,
@ -294,31 +335,21 @@ def show_blogs_timeline(self, authorized: bool,
http_prefix, http_prefix,
max_posts_in_blogs_feed, 'tlblogs', max_posts_in_blogs_feed, 'tlblogs',
True, True,
0, self.server.positive_voting, 0, positive_voting,
self.server.voting_time_mins) voting_time_mins)
full_width_tl_button_header = \
self.server.full_width_tl_button_header
minimal_nick = is_minimal(base_dir, domain, nickname) minimal_nick = is_minimal(base_dir, domain, nickname)
access_keys = self.server.access_keys if key_shortcuts.get(nickname):
if self.server.key_shortcuts.get(nickname): access_keys = key_shortcuts[nickname]
access_keys = \ fed_domains = shared_items_federated_domains
self.server.key_shortcuts[nickname]
fed_domains = \
self.server.shared_items_federated_domains
allow_local_network_access = \
self.server.allow_local_network_access
twitter_replacement_domain = \
self.server.twitter_replacement_domain
timezone = None timezone = None
if self.server.account_timezone.get(nickname): if account_timezone.get(nickname):
timezone = \ timezone = account_timezone.get(nickname)
self.server.account_timezone.get(nickname)
bold_reading = False bold_reading = False
if self.server.bold_reading.get(nickname): if bold_reading_nicknames.get(nickname):
bold_reading = True bold_reading = True
reverse_sequence = False reverse_sequence = False
if nickname in self.server.reverse_sequence: if nickname in reverse_sequence_nicknames:
reverse_sequence = True reverse_sequence = True
last_post_id = None last_post_id = None
if ';lastpost=' in path: if ';lastpost=' in path:
@ -326,65 +357,62 @@ def show_blogs_timeline(self, authorized: bool,
if ';' in last_post_id: if ';' in last_post_id:
last_post_id = last_post_id.split(';')[0] last_post_id = last_post_id.split(';')[0]
msg = \ msg = \
html_inbox_blogs(self.server.default_timeline, html_inbox_blogs(default_timeline,
self.server.recent_posts_cache, recent_posts_cache,
self.server.max_recent_posts, max_recent_posts,
self.server.translate, translate,
page_number, max_posts_in_blogs_feed, page_number, max_posts_in_blogs_feed,
curr_session, curr_session,
base_dir, base_dir,
self.server.cached_webfingers, cached_webfingers,
self.server.person_cache, person_cache,
nickname, nickname,
domain, domain,
port, port,
inbox_blogs_feed, inbox_blogs_feed,
self.server.allow_deletion, allow_deletion,
http_prefix, http_prefix,
self.server.project_version, project_version,
minimal_nick, minimal_nick,
self.server.yt_replace_domain, yt_replace_domain,
twitter_replacement_domain, twitter_replacement_domain,
self.server.show_published_date_only, show_published_date_only,
self.server.newswire, newswire,
self.server.positive_voting, positive_voting,
self.server.show_publish_as_icon, show_publish_as_icon,
full_width_tl_button_header, full_width_tl_button_header,
self.server.icons_as_buttons, icons_as_buttons,
self.server.rss_icon_at_top, rss_icon_at_top,
self.server.publish_button_at_top, publish_button_at_top,
authorized, authorized,
self.server.theme_name, theme_name,
self.server.peertube_instances, peertube_instances,
allow_local_network_access, allow_local_network_access,
self.server.text_mode_banner, text_mode_banner,
access_keys, access_keys,
self.server.system_language, system_language,
self.server.max_like_count, max_like_count,
fed_domains, fed_domains,
self.server.signing_priv_key_pem, signing_priv_key_pem,
self.server.cw_lists, cw_lists,
self.server.lists_enabled, lists_enabled,
timezone, bold_reading, timezone, bold_reading,
self.server.dogwhistles, ua_str, dogwhistles, ua_str,
self.server.min_images_for_accounts, min_images_for_accounts,
reverse_sequence, last_post_id, reverse_sequence, last_post_id,
self.server.buy_sites, buy_sites,
self.server.auto_cw_cache) auto_cw_cache)
msg = msg.encode('utf-8') msg = msg.encode('utf-8')
msglen = len(msg) msglen = len(msg)
set_headers(self, 'text/html', msglen, set_headers(self, 'text/html', msglen,
cookie, calling_domain, False) cookie, calling_domain, False)
write2(self, msg) write2(self, msg)
fitness_performance(getreq_start_time, fitness_performance(getreq_start_time, fitness,
self.server.fitness,
'_GET', '_show_blogs_timeline', '_GET', '_show_blogs_timeline',
debug) debug)
else: else:
# don't need authorized fetch here because there is # don't need authorized fetch here because there is
# already the authorization check # already the authorization check
onion_domain = self.server.onion_domain
i2p_domain = self.server.i2p_domain
msg_str = json.dumps(inbox_blogs_feed, msg_str = json.dumps(inbox_blogs_feed,
ensure_ascii=False) ensure_ascii=False)
msg_str = convert_domains(calling_domain, msg_str = convert_domains(calling_domain,
@ -400,8 +428,7 @@ def show_blogs_timeline(self, authorized: bool,
set_headers(self, protocol_str, msglen, set_headers(self, protocol_str, msglen,
None, calling_domain, False) None, calling_domain, False)
write2(self, msg) write2(self, msg)
fitness_performance(getreq_start_time, fitness_performance(getreq_start_time, fitness,
self.server.fitness,
'_GET', '_show_blogs_timeline json', '_GET', '_show_blogs_timeline json',
debug) debug)
return True return True