mirror of https://gitlab.com/bashrc2/epicyon
Merge branch 'main' of gitlab.com:bashrc2/epicyon
commit
afe133b871
24
daemon.py
24
daemon.py
|
@ -2165,7 +2165,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
print('EX: Unable to save token for ' +
|
||||
login_nickname + ' ' + str(ex))
|
||||
|
||||
person_upgrade_actor(base_dir, None, login_handle,
|
||||
person_upgrade_actor(base_dir, None,
|
||||
base_dir + '/accounts/' +
|
||||
login_handle + '.json')
|
||||
|
||||
|
@ -2408,8 +2408,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
locate_post(base_dir, nickname, domain,
|
||||
moderation_text)
|
||||
if post_filename:
|
||||
if can_remove_post(base_dir,
|
||||
nickname, domain, port,
|
||||
if can_remove_post(base_dir, domain, port,
|
||||
moderation_text):
|
||||
delete_post(base_dir,
|
||||
http_prefix,
|
||||
|
@ -2425,8 +2424,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
locate_post(base_dir, 'news', domain,
|
||||
moderation_text)
|
||||
if post_filename:
|
||||
if can_remove_post(base_dir,
|
||||
'news', domain, port,
|
||||
if can_remove_post(base_dir, domain, port,
|
||||
moderation_text):
|
||||
delete_post(base_dir,
|
||||
http_prefix,
|
||||
|
@ -2575,9 +2573,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
if 'submitThemeDesignerReset=' in theme_params or \
|
||||
'submitThemeDesigner=' not in theme_params:
|
||||
if 'submitThemeDesignerReset=' in theme_params:
|
||||
reset_theme_designer_settings(base_dir, theme_name, domain,
|
||||
allow_local_network_access,
|
||||
system_language)
|
||||
reset_theme_designer_settings(base_dir)
|
||||
set_theme(base_dir, theme_name, domain,
|
||||
allow_local_network_access, system_language,
|
||||
dyslexic_font, True)
|
||||
|
@ -4555,7 +4551,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
get_domain_from_actor(share_actor)
|
||||
remove_shared_item(base_dir,
|
||||
share_nickname, share_domain, item_id,
|
||||
http_prefix, domain_full, 'shares')
|
||||
'shares')
|
||||
|
||||
if calling_domain.endswith('.onion') and onion_domain:
|
||||
origin_path_str = 'http://' + onion_domain + users_path
|
||||
|
@ -4628,7 +4624,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
get_domain_from_actor(share_actor)
|
||||
remove_shared_item(base_dir,
|
||||
share_nickname, share_domain, item_id,
|
||||
http_prefix, domain_full, 'wanted')
|
||||
'wanted')
|
||||
|
||||
if calling_domain.endswith('.onion') and onion_domain:
|
||||
origin_path_str = 'http://' + onion_domain + users_path
|
||||
|
@ -18528,14 +18524,12 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
response_str = None
|
||||
if endpoint_type == 'propfind':
|
||||
response_str = \
|
||||
dav_propfind_response(self.server.base_dir,
|
||||
nickname, self.server.domain,
|
||||
depth, propfind_xml)
|
||||
dav_propfind_response(nickname, propfind_xml)
|
||||
elif endpoint_type == 'put':
|
||||
response_str = \
|
||||
dav_put_response(self.server.base_dir,
|
||||
nickname, self.server.domain,
|
||||
depth, propfind_xml,
|
||||
propfind_xml,
|
||||
self.server.http_prefix,
|
||||
self.server.system_language,
|
||||
self.server.recent_dav_etags)
|
||||
|
@ -18548,7 +18542,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
response_str = \
|
||||
dav_report_response(self.server.base_dir,
|
||||
nickname, self.server.domain,
|
||||
depth, propfind_xml,
|
||||
propfind_xml,
|
||||
self.server.person_cache,
|
||||
self.server.http_prefix,
|
||||
curr_etag,
|
||||
|
|
|
@ -793,8 +793,7 @@ def _dav_decode_token(token: str) -> (int, int, str):
|
|||
return token_year, token_month_number, token_post_id
|
||||
|
||||
|
||||
def dav_propfind_response(base_dir: str, nickname: str, domain: str,
|
||||
depth: int, xml_str: str) -> str:
|
||||
def dav_propfind_response(nickname: str, xml_str: str) -> str:
|
||||
"""Returns the response to caldav PROPFIND
|
||||
"""
|
||||
if '<d:propfind' not in xml_str or \
|
||||
|
@ -977,7 +976,7 @@ def _dav_update_recent_etags(etag: str, nickname: str,
|
|||
|
||||
|
||||
def dav_put_response(base_dir: str, nickname: str, domain: str,
|
||||
depth: int, xml_str: str, http_prefix: str,
|
||||
xml_str: str, http_prefix: str,
|
||||
system_language: str,
|
||||
recent_dav_etags: {}) -> str:
|
||||
"""Returns the response to caldav PUT
|
||||
|
@ -1023,7 +1022,7 @@ def dav_put_response(base_dir: str, nickname: str, domain: str,
|
|||
|
||||
|
||||
def dav_report_response(base_dir: str, nickname: str, domain: str,
|
||||
depth: int, xml_str: str,
|
||||
xml_str: str,
|
||||
person_cache: {}, http_prefix: str,
|
||||
curr_etag: str, recent_dav_etags: {},
|
||||
domain_full: str, system_language: str) -> str:
|
||||
|
|
|
@ -66,8 +66,7 @@ def _update_feeds_outbox_index(base_dir: str, domain: str,
|
|||
print('EX: unable to write ' + index_filename)
|
||||
|
||||
|
||||
def _save_arrived_time(base_dir: str, post_filename: str,
|
||||
arrived: str) -> None:
|
||||
def _save_arrived_time(post_filename: str, arrived: str) -> None:
|
||||
"""Saves the time when an rss post arrived to a file
|
||||
"""
|
||||
try:
|
||||
|
@ -100,8 +99,7 @@ def _hashtag_logical_not(tree: [], hashtags: [], moderated: bool,
|
|||
return False
|
||||
|
||||
|
||||
def _hashtag_logical_contains(tree: [], hashtags: [], moderated: bool,
|
||||
content: str, url: str) -> bool:
|
||||
def _hashtag_logical_contains(tree: [], content: str) -> bool:
|
||||
""" Contains
|
||||
"""
|
||||
if len(tree) != 2:
|
||||
|
@ -121,8 +119,7 @@ def _hashtag_logical_contains(tree: [], hashtags: [], moderated: bool,
|
|||
return False
|
||||
|
||||
|
||||
def _hashtag_logical_from(tree: [], hashtags: [], moderated: bool,
|
||||
content: str, url: str) -> bool:
|
||||
def _hashtag_logical_from(tree: [], url: str) -> bool:
|
||||
""" FROM
|
||||
"""
|
||||
if len(tree) != 2:
|
||||
|
@ -210,10 +207,9 @@ def hashtag_rule_resolve(tree: [], hashtags: [], moderated: bool,
|
|||
if tree[0] == 'not':
|
||||
return _hashtag_logical_not(tree, hashtags, moderated, content, url)
|
||||
if tree[0] == 'contains':
|
||||
return _hashtag_logical_contains(tree, hashtags, moderated,
|
||||
content, url)
|
||||
return _hashtag_logical_contains(tree, content)
|
||||
if tree[0] == 'from':
|
||||
return _hashtag_logical_from(tree, hashtags, moderated, content, url)
|
||||
return _hashtag_logical_from(tree, url)
|
||||
if tree[0] == 'and':
|
||||
return _hashtag_logical_and(tree, hashtags, moderated, content, url)
|
||||
if tree[0] == 'or':
|
||||
|
@ -378,13 +374,9 @@ def _hashtag_remove(http_prefix: str, domain_full: str, post_json_object: {},
|
|||
post_json_object['object']['tag'].remove(rm_tag_object)
|
||||
|
||||
|
||||
def _newswire_hashtag_processing(session, base_dir: str, post_json_object: {},
|
||||
def _newswire_hashtag_processing(base_dir: str, post_json_object: {},
|
||||
hashtags: [], http_prefix: str,
|
||||
domain: str, port: int,
|
||||
person_cache: {},
|
||||
cached_webfingers: {},
|
||||
federation_list: [],
|
||||
send_threads: [], post_log: [],
|
||||
moderated: bool, url: str,
|
||||
system_language: str,
|
||||
translate: {}) -> bool:
|
||||
|
@ -549,11 +541,6 @@ def _convert_rss_to_activitypub(base_dir: str, http_prefix: str,
|
|||
newswire: {},
|
||||
translate: {},
|
||||
recent_posts_cache: {},
|
||||
max_recent_posts: int,
|
||||
session, cached_webfingers: {},
|
||||
person_cache: {},
|
||||
federation_list: [],
|
||||
send_threads: [], post_log: [],
|
||||
max_mirrored_articles: int,
|
||||
allow_local_network_access: bool,
|
||||
system_language: str,
|
||||
|
@ -697,12 +684,8 @@ def _convert_rss_to_activitypub(base_dir: str, http_prefix: str,
|
|||
moderated = item[5]
|
||||
|
||||
save_post = \
|
||||
_newswire_hashtag_processing(session, base_dir,
|
||||
blog, hashtags,
|
||||
_newswire_hashtag_processing(base_dir, blog, hashtags,
|
||||
http_prefix, domain, port,
|
||||
person_cache, cached_webfingers,
|
||||
federation_list,
|
||||
send_threads, post_log,
|
||||
moderated, url, system_language,
|
||||
translate)
|
||||
|
||||
|
@ -755,7 +738,7 @@ def _convert_rss_to_activitypub(base_dir: str, http_prefix: str,
|
|||
# this can then later be used to construct the news timeline
|
||||
# excluding items during the voting period
|
||||
if moderated:
|
||||
_save_arrived_time(base_dir, filename,
|
||||
_save_arrived_time(filename,
|
||||
blog['object']['arrived'])
|
||||
else:
|
||||
if os.path.isfile(filename + '.arrived'):
|
||||
|
@ -842,17 +825,9 @@ def run_newswire_daemon(base_dir: str, httpd,
|
|||
print('No new newswire')
|
||||
|
||||
print('Converting newswire to activitypub format')
|
||||
_convert_rss_to_activitypub(base_dir,
|
||||
http_prefix, domain, port,
|
||||
_convert_rss_to_activitypub(base_dir, http_prefix, domain, port,
|
||||
new_newswire, translate,
|
||||
httpd.recent_posts_cache,
|
||||
httpd.max_recent_posts,
|
||||
httpd.session,
|
||||
httpd.cached_webfingers,
|
||||
httpd.person_cache,
|
||||
httpd.federation_list,
|
||||
httpd.send_threads,
|
||||
httpd.postLog,
|
||||
httpd.max_mirrored_articles,
|
||||
httpd.allow_local_network_access,
|
||||
httpd.system_language,
|
||||
|
|
17
outbox.py
17
outbox.py
|
@ -60,8 +60,7 @@ from webapp_post import individual_post_as_html
|
|||
from speaker import update_speaker
|
||||
|
||||
|
||||
def _person_receive_update_outbox(recent_posts_cache: {},
|
||||
base_dir: str, http_prefix: str,
|
||||
def _person_receive_update_outbox(base_dir: str, http_prefix: str,
|
||||
nickname: str, domain: str, port: int,
|
||||
message_json: {}, debug: bool) -> None:
|
||||
""" Receive an actor update from c2s
|
||||
|
@ -588,14 +587,12 @@ def post_message_to_outbox(session, translate: {},
|
|||
if debug:
|
||||
print('DEBUG: handle any emoji reaction requests')
|
||||
outbox_reaction(recent_posts_cache,
|
||||
base_dir, http_prefix,
|
||||
post_to_nickname, domain, port,
|
||||
base_dir, post_to_nickname, domain,
|
||||
message_json, debug)
|
||||
if debug:
|
||||
print('DEBUG: handle any undo emoji reaction requests')
|
||||
outbox_undo_reaction(recent_posts_cache,
|
||||
base_dir, http_prefix,
|
||||
post_to_nickname, domain, port,
|
||||
base_dir, post_to_nickname, domain,
|
||||
message_json, debug)
|
||||
|
||||
if debug:
|
||||
|
@ -659,14 +656,12 @@ def post_message_to_outbox(session, translate: {},
|
|||
|
||||
if debug:
|
||||
print('DEBUG: handle undo share uploads')
|
||||
outbox_undo_share_upload(base_dir, http_prefix,
|
||||
post_to_nickname, domain,
|
||||
port, message_json, debug)
|
||||
outbox_undo_share_upload(base_dir, post_to_nickname, domain,
|
||||
message_json, debug)
|
||||
|
||||
if debug:
|
||||
print('DEBUG: handle actor updates from c2s')
|
||||
_person_receive_update_outbox(recent_posts_cache,
|
||||
base_dir, http_prefix,
|
||||
_person_receive_update_outbox(base_dir, http_prefix,
|
||||
post_to_nickname, domain, port,
|
||||
message_json, debug)
|
||||
|
||||
|
|
14
person.py
14
person.py
|
@ -74,6 +74,8 @@ from follow import is_following_actor
|
|||
|
||||
|
||||
def generate_rsa_key() -> (str, str):
|
||||
"""Creates an RSA key for signing
|
||||
"""
|
||||
key = rsa.generate_private_key(
|
||||
public_exponent=65537,
|
||||
key_size=2048,
|
||||
|
@ -755,7 +757,7 @@ def create_news_inbox(base_dir: str, domain: str, port: int,
|
|||
|
||||
|
||||
def person_upgrade_actor(base_dir: str, person_json: {},
|
||||
handle: str, filename: str) -> None:
|
||||
filename: str) -> None:
|
||||
"""Alter the actor to add any new properties
|
||||
"""
|
||||
update_actor = False
|
||||
|
@ -948,7 +950,7 @@ def person_lookup(domain: str, path: str, base_dir: str) -> {}:
|
|||
return None
|
||||
person_json = load_json(filename)
|
||||
if not is_shared_inbox:
|
||||
person_upgrade_actor(base_dir, person_json, handle, filename)
|
||||
person_upgrade_actor(base_dir, person_json, filename)
|
||||
# if not person_json:
|
||||
# person_json={"user": "unknown"}
|
||||
return person_json
|
||||
|
@ -1053,6 +1055,8 @@ def person_box_json(recent_posts_cache: {},
|
|||
|
||||
def set_display_nickname(base_dir: str, nickname: str, domain: str,
|
||||
display_name: str) -> bool:
|
||||
"""Sets the display name for an account
|
||||
"""
|
||||
if len(display_name) > 32:
|
||||
return False
|
||||
handle = nickname + '@' + domain
|
||||
|
@ -1159,7 +1163,7 @@ def suspend_account(base_dir: str, nickname: str, domain: str) -> None:
|
|||
print('EX: unable to write ' + suspended_filename)
|
||||
|
||||
|
||||
def can_remove_post(base_dir: str, nickname: str,
|
||||
def can_remove_post(base_dir: str,
|
||||
domain: str, port: int, post_id: str) -> bool:
|
||||
"""Returns true if the given post can be removed
|
||||
"""
|
||||
|
@ -1679,8 +1683,8 @@ def get_actor_json(host_domain: str, handle: str, http: bool, gnunet: bool,
|
|||
return None, None
|
||||
|
||||
|
||||
def get_person_avatar_url(base_dir: str, person_url: str, person_cache: {},
|
||||
allow_downloads: bool) -> str:
|
||||
def get_person_avatar_url(base_dir: str, person_url: str,
|
||||
person_cache: {}) -> str:
|
||||
"""Returns the avatar url for the person
|
||||
"""
|
||||
person_json = \
|
||||
|
|
|
@ -361,8 +361,7 @@ def send_undo_reaction_via_server(base_dir: str, session,
|
|||
|
||||
|
||||
def outbox_reaction(recent_posts_cache: {},
|
||||
base_dir: str, http_prefix: str,
|
||||
nickname: str, domain: str, port: int,
|
||||
base_dir: str, nickname: str, domain: str,
|
||||
message_json: {}, debug: bool) -> None:
|
||||
""" When a reaction request is received by the outbox from c2s
|
||||
"""
|
||||
|
@ -405,8 +404,7 @@ def outbox_reaction(recent_posts_cache: {},
|
|||
|
||||
|
||||
def outbox_undo_reaction(recent_posts_cache: {},
|
||||
base_dir: str, http_prefix: str,
|
||||
nickname: str, domain: str, port: int,
|
||||
base_dir: str, nickname: str, domain: str,
|
||||
message_json: {}, debug: bool) -> None:
|
||||
""" When an undo reaction request is received by the outbox from c2s
|
||||
"""
|
||||
|
|
13
shares.py
13
shares.py
|
@ -119,9 +119,7 @@ def _get_valid_shared_item_id(actor: str, display_name: str) -> str:
|
|||
|
||||
|
||||
def remove_shared_item(base_dir: str, nickname: str, domain: str,
|
||||
item_id: str,
|
||||
http_prefix: str, domain_full: str,
|
||||
shares_file_type: str) -> None:
|
||||
item_id: str, shares_file_type: str) -> None:
|
||||
"""Removes a share for a person
|
||||
"""
|
||||
shares_filename = \
|
||||
|
@ -992,8 +990,7 @@ def send_undo_wanted_via_server(base_dir: str, session,
|
|||
return undo_share_json
|
||||
|
||||
|
||||
def get_shared_items_catalog_via_server(base_dir, session,
|
||||
nickname: str, password: str,
|
||||
def get_shared_items_catalog_via_server(session, nickname: str, password: str,
|
||||
domain: str, port: int,
|
||||
http_prefix: str, debug: bool,
|
||||
signing_priv_key_pem: str) -> {}:
|
||||
|
@ -1100,8 +1097,7 @@ def outbox_share_upload(base_dir: str, http_prefix: str,
|
|||
print('DEBUG: shared item received via c2s')
|
||||
|
||||
|
||||
def outbox_undo_share_upload(base_dir: str, http_prefix: str,
|
||||
nickname: str, domain: str, port: int,
|
||||
def outbox_undo_share_upload(base_dir: str, nickname: str, domain: str,
|
||||
message_json: {}, debug: bool) -> None:
|
||||
""" When a shared item is removed via c2s
|
||||
"""
|
||||
|
@ -1119,10 +1115,9 @@ def outbox_undo_share_upload(base_dir: str, http_prefix: str,
|
|||
if debug:
|
||||
print('DEBUG: displayName missing from Offer')
|
||||
return
|
||||
domain_full = get_full_domain(domain, port)
|
||||
remove_shared_item(base_dir, nickname, domain,
|
||||
message_json['object']['displayName'],
|
||||
http_prefix, domain_full, 'shares')
|
||||
'shares')
|
||||
if debug:
|
||||
print('DEBUG: shared item removed via c2s')
|
||||
|
||||
|
|
2
tests.py
2
tests.py
|
@ -1994,7 +1994,7 @@ def test_shared_items_federation(base_dir: str) -> None:
|
|||
print('Bob can read the shared items catalog on his own instance')
|
||||
signing_priv_key_pem = None
|
||||
catalog_json = \
|
||||
get_shared_items_catalog_via_server(bob_dir, session_bob,
|
||||
get_shared_items_catalog_via_server(session_bob,
|
||||
'bob', bob_password,
|
||||
bob_domain, bob_port,
|
||||
http_prefix, True,
|
||||
|
|
12
theme.py
12
theme.py
|
@ -394,10 +394,10 @@ def _set_theme_from_dict(base_dir: str, name: str,
|
|||
)
|
||||
for scr in screen_name:
|
||||
if bg_params.get(scr):
|
||||
_set_background_format(base_dir, name, scr, bg_params[scr])
|
||||
_set_background_format(base_dir, scr, bg_params[scr])
|
||||
|
||||
|
||||
def _set_background_format(base_dir: str, name: str,
|
||||
def _set_background_format(base_dir: str,
|
||||
background_type: str, extension: str) -> None:
|
||||
"""Sets the background file extension
|
||||
"""
|
||||
|
@ -533,9 +533,7 @@ def set_theme_from_designer(base_dir: str, theme_name: str, domain: str,
|
|||
dyslexic_font, False)
|
||||
|
||||
|
||||
def reset_theme_designer_settings(base_dir: str, theme_name: str, domain: str,
|
||||
allow_local_network_access: bool,
|
||||
system_language: str) -> None:
|
||||
def reset_theme_designer_settings(base_dir: str) -> None:
|
||||
"""Resets the theme designer settings
|
||||
"""
|
||||
custom_variables_file = base_dir + '/accounts/theme.json'
|
||||
|
@ -864,9 +862,7 @@ def set_theme(base_dir: str, name: str, domain: str,
|
|||
|
||||
# if the theme has changed then remove any custom settings
|
||||
if prev_theme_name != name or designer_reset:
|
||||
reset_theme_designer_settings(base_dir, name, domain,
|
||||
allow_local_network_access,
|
||||
system_language)
|
||||
reset_theme_designer_settings(base_dir)
|
||||
|
||||
_remove_theme(base_dir)
|
||||
|
||||
|
|
|
@ -149,8 +149,7 @@ def html_likers_of_post(base_dir: str, nickname: str,
|
|||
if likers_list:
|
||||
likers_list += ' '
|
||||
liker_avatar_url = \
|
||||
get_person_avatar_url(base_dir, liker_actor,
|
||||
person_cache, False)
|
||||
get_person_avatar_url(base_dir, liker_actor, person_cache)
|
||||
if not liker_avatar_url:
|
||||
liker_avatar_url = ''
|
||||
else:
|
||||
|
|
|
@ -347,8 +347,7 @@ def _get_post_from_recent_cache(session,
|
|||
# update avatar if needed
|
||||
if not avatar_url:
|
||||
avatar_url = \
|
||||
get_person_avatar_url(base_dir, post_actor, person_cache,
|
||||
allow_downloads)
|
||||
get_person_avatar_url(base_dir, post_actor, person_cache)
|
||||
|
||||
_log_post_timing(enable_timing_log, post_start_time, '2.1')
|
||||
|
||||
|
@ -1145,8 +1144,7 @@ def _get_post_title_announce_html(base_dir: str,
|
|||
# show avatar of person replied to
|
||||
announce_actor = attributed_to
|
||||
announce_avatar_url = \
|
||||
get_person_avatar_url(base_dir, announce_actor,
|
||||
person_cache, allow_downloads)
|
||||
get_person_avatar_url(base_dir, announce_actor, person_cache)
|
||||
|
||||
_log_post_timing(enable_timing_log, post_start_time, '13.4')
|
||||
|
||||
|
@ -1353,8 +1351,7 @@ def _get_post_title_reply_html(base_dir: str,
|
|||
|
||||
# show avatar of person replied to
|
||||
reply_avatar_url = \
|
||||
get_person_avatar_url(base_dir, reply_actor, person_cache,
|
||||
allow_downloads)
|
||||
get_person_avatar_url(base_dir, reply_actor, person_cache)
|
||||
|
||||
_log_post_timing(enable_timing_log, post_start_time, '13.8')
|
||||
|
||||
|
|
|
@ -202,8 +202,7 @@ def html_profile_after_search(recent_posts_cache: {}, max_recent_posts: int,
|
|||
if profile_json['icon'].get('url'):
|
||||
avatar_url = profile_json['icon']['url']
|
||||
if not avatar_url:
|
||||
avatar_url = get_person_avatar_url(base_dir, person_url,
|
||||
person_cache, True)
|
||||
avatar_url = get_person_avatar_url(base_dir, person_url, person_cache)
|
||||
display_name = search_nickname
|
||||
if profile_json.get('name'):
|
||||
display_name = profile_json['name']
|
||||
|
@ -2473,7 +2472,7 @@ def _individual_follow_as_html(signing_priv_key_pem: str,
|
|||
get_full_domain(follow_url_domain, follow_url_port)
|
||||
title_str = '@' + follow_url_nickname + '@' + follow_url_domain_full
|
||||
avatar_url = \
|
||||
get_person_avatar_url(base_dir, follow_url, person_cache, True)
|
||||
get_person_avatar_url(base_dir, follow_url, person_cache)
|
||||
if not avatar_url:
|
||||
avatar_url = follow_url + '/avatar.png'
|
||||
|
||||
|
|
|
@ -378,8 +378,7 @@ def update_avatar_image_cache(signing_priv_key_pem: str,
|
|||
return None
|
||||
store_person_in_cache(base_dir, actor, person_json, person_cache,
|
||||
allow_downloads)
|
||||
return get_person_avatar_url(base_dir, actor, person_cache,
|
||||
allow_downloads)
|
||||
return get_person_avatar_url(base_dir, actor, person_cache)
|
||||
return None
|
||||
return avatar_image_filename.replace(base_dir + '/cache', '')
|
||||
|
||||
|
@ -1429,8 +1428,7 @@ def get_avatar_image_url(session, base_dir: str, http_prefix: str,
|
|||
# get the avatar image url for the post actor
|
||||
if not avatar_url:
|
||||
avatar_url = \
|
||||
get_person_avatar_url(base_dir, post_actor, person_cache,
|
||||
allow_downloads)
|
||||
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,
|
||||
|
|
Loading…
Reference in New Issue