Prepend domain to avatar url if needed

main
Bob Mottram 2025-09-30 14:53:10 +01:00
parent bf1c50e007
commit 05cdd5194f
3 changed files with 14 additions and 10 deletions

View File

@ -523,7 +523,7 @@ def _receive_search_handle(self, search_str: str,
# get the avatar url for the actor
avatar_url = \
get_avatar_image_url(curr_session,
base_dir, http_prefix,
base_dir, http_prefix, domain,
actor, person_cache,
None, True,
signing_priv_key_pem,

View File

@ -613,7 +613,7 @@ def _get_post_from_recent_cache(session,
_log_post_timing(enable_timing_log, post_start_time, '2.1')
update_avatar_image_cache(signing_priv_key_pem,
session, base_dir, http_prefix,
session, base_dir, http_prefix, domain,
post_actor, avatar_url, person_cache,
allow_downloads, mitm_servers)
@ -2232,7 +2232,7 @@ def remove_incomplete_code_tags(content: str) -> str:
return content
def _mentions_to_person_options(html_str: str, nickname: str,
def _mentions_to_person_options(html_str: str, nickname: str, domain: str,
session, base_dir: str, http_prefix: str,
person_cache: {},
allow_downloads: bool,
@ -2259,7 +2259,7 @@ def _mentions_to_person_options(html_str: str, nickname: str,
post_actor = link.split('"')[0]
# look up the avatar image for the mention
avatar_url = \
get_avatar_image_url(session, base_dir, http_prefix,
get_avatar_image_url(session, base_dir, http_prefix, domain,
post_actor, person_cache,
None, allow_downloads,
signing_priv_key_pem,
@ -2391,7 +2391,7 @@ def individual_post_as_html(signing_priv_key_pem: str,
avatar_url = \
get_avatar_image_url(session,
base_dir, http_prefix,
base_dir, http_prefix, domain,
post_actor, person_cache,
avatar_url, allow_downloads,
signing_priv_key_pem,
@ -3369,7 +3369,7 @@ def individual_post_as_html(signing_priv_key_pem: str,
# This enables following of mentions in browsers which don't
# support javascript
post_html = \
_mentions_to_person_options(post_html, nickname,
_mentions_to_person_options(post_html, nickname, domain,
session, base_dir, http_prefix,
person_cache,
allow_downloads,

View File

@ -364,7 +364,8 @@ def set_blog_address(actor_json: {}, blog_address: str) -> None:
def update_avatar_image_cache(signing_priv_key_pem: str,
session, base_dir: str, http_prefix: str,
session, base_dir: str,
http_prefix: str, domain: str,
actor: str, avatar_url: str,
person_cache: {}, allow_downloads: bool,
mitm_servers: [],
@ -393,6 +394,8 @@ def update_avatar_image_cache(signing_priv_key_pem: str,
if (not os.path.isfile(avatar_image_filename) or force) and \
allow_downloads:
if '://' not in avatar_url and avatar_url.startswith('/'):
avatar_url = http_prefix + '://' + domain + avatar_url
try:
if debug:
print('avatar image url: ' + avatar_url)
@ -1798,7 +1801,8 @@ def html_highlight_label(label: str, highlight: bool) -> str:
return '*' + str(label) + '*'
def get_avatar_image_url(session, base_dir: str, http_prefix: str,
def get_avatar_image_url(session, base_dir: str,
http_prefix: str, domain: str,
post_actor: str, person_cache: {},
avatar_url: str, allow_downloads: bool,
signing_priv_key_pem: str,
@ -1811,12 +1815,12 @@ def get_avatar_image_url(session, base_dir: str, http_prefix: str,
get_person_avatar_url(base_dir, post_actor, person_cache)
avatar_url = \
update_avatar_image_cache(signing_priv_key_pem,
session, base_dir, http_prefix,
session, base_dir, http_prefix, domain,
post_actor, avatar_url, person_cache,
allow_downloads, mitm_servers)
else:
update_avatar_image_cache(signing_priv_key_pem,
session, base_dir, http_prefix,
session, base_dir, http_prefix, domain,
post_actor, avatar_url, person_cache,
allow_downloads, mitm_servers)