mirror of https://gitlab.com/bashrc2/epicyon
Handle none return valued from nickname
parent
aab90e75da
commit
f55f7a258f
15
announce.py
15
announce.py
|
@ -187,13 +187,14 @@ def create_announce(session, base_dir: str, federation_list: [],
|
||||||
group_account = False
|
group_account = False
|
||||||
if has_users_path(object_url):
|
if has_users_path(object_url):
|
||||||
announce_nickname = get_nickname_from_actor(object_url)
|
announce_nickname = get_nickname_from_actor(object_url)
|
||||||
announce_domain, announce_port = get_domain_from_actor(object_url)
|
if announce_nickname:
|
||||||
if '/' + str(announce_nickname) + '/' in object_url:
|
announce_domain, announce_port = get_domain_from_actor(object_url)
|
||||||
announce_actor = \
|
if '/' + str(announce_nickname) + '/' in object_url:
|
||||||
object_url.split('/' + announce_nickname + '/')[0] + \
|
announce_actor = \
|
||||||
'/' + announce_nickname
|
object_url.split('/' + announce_nickname + '/')[0] + \
|
||||||
if has_group_type(base_dir, announce_actor, person_cache):
|
'/' + announce_nickname
|
||||||
group_account = True
|
if has_group_type(base_dir, announce_actor, person_cache):
|
||||||
|
group_account = True
|
||||||
|
|
||||||
if announce_nickname and announce_domain:
|
if announce_nickname and announce_domain:
|
||||||
send_signed_json(new_announce, session, base_dir,
|
send_signed_json(new_announce, session, base_dir,
|
||||||
|
|
|
@ -68,6 +68,8 @@ def outbox_availability(base_dir: str, nickname: str, message_json: {},
|
||||||
return False
|
return False
|
||||||
|
|
||||||
actor_nickname = get_nickname_from_actor(message_json['actor'])
|
actor_nickname = get_nickname_from_actor(message_json['actor'])
|
||||||
|
if not actor_nickname:
|
||||||
|
return False
|
||||||
if actor_nickname != nickname:
|
if actor_nickname != nickname:
|
||||||
return False
|
return False
|
||||||
domain, _ = get_domain_from_actor(message_json['actor'])
|
domain, _ = get_domain_from_actor(message_json['actor'])
|
||||||
|
|
|
@ -46,6 +46,8 @@ def undo_bookmarks_collection_entry(recent_posts_cache: {},
|
||||||
# remove any cached version of this post so that the
|
# remove any cached version of this post so that the
|
||||||
# bookmark icon is changed
|
# bookmark icon is changed
|
||||||
nickname = get_nickname_from_actor(actor)
|
nickname = get_nickname_from_actor(actor)
|
||||||
|
if not nickname:
|
||||||
|
return
|
||||||
cached_post_filename = \
|
cached_post_filename = \
|
||||||
get_cached_post_filename(base_dir, nickname,
|
get_cached_post_filename(base_dir, nickname,
|
||||||
domain, post_json_object)
|
domain, post_json_object)
|
||||||
|
@ -166,6 +168,8 @@ def update_bookmarks_collection(recent_posts_cache: {},
|
||||||
# remove any cached version of this post so that the
|
# remove any cached version of this post so that the
|
||||||
# bookmark icon is changed
|
# bookmark icon is changed
|
||||||
nickname = get_nickname_from_actor(actor)
|
nickname = get_nickname_from_actor(actor)
|
||||||
|
if not nickname:
|
||||||
|
return
|
||||||
cached_post_filename = \
|
cached_post_filename = \
|
||||||
get_cached_post_filename(base_dir, nickname,
|
get_cached_post_filename(base_dir, nickname,
|
||||||
domain, post_json_object)
|
domain, post_json_object)
|
||||||
|
|
215
daemon.py
215
daemon.py
|
@ -2195,18 +2195,24 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
if '/@' in search_handle:
|
if '/@' in search_handle:
|
||||||
search_nickname = \
|
search_nickname = \
|
||||||
get_nickname_from_actor(search_handle)
|
get_nickname_from_actor(search_handle)
|
||||||
search_domain, _ = \
|
if search_nickname:
|
||||||
get_domain_from_actor(search_handle)
|
|
||||||
search_handle = \
|
|
||||||
search_nickname + '@' + search_domain
|
|
||||||
if '@' not in search_handle:
|
|
||||||
if search_handle.startswith('http'):
|
|
||||||
search_nickname = \
|
|
||||||
get_nickname_from_actor(search_handle)
|
|
||||||
search_domain, _ = \
|
search_domain, _ = \
|
||||||
get_domain_from_actor(search_handle)
|
get_domain_from_actor(search_handle)
|
||||||
search_handle = \
|
search_handle = \
|
||||||
search_nickname + '@' + search_domain
|
search_nickname + '@' + search_domain
|
||||||
|
else:
|
||||||
|
search_handle = None
|
||||||
|
if '@' not in search_handle:
|
||||||
|
if search_handle.startswith('http'):
|
||||||
|
search_nickname = \
|
||||||
|
get_nickname_from_actor(search_handle)
|
||||||
|
if search_nickname:
|
||||||
|
search_domain, _ = \
|
||||||
|
get_domain_from_actor(search_handle)
|
||||||
|
search_handle = \
|
||||||
|
search_nickname + '@' + search_domain
|
||||||
|
else:
|
||||||
|
search_handle = None
|
||||||
if '@' not in search_handle:
|
if '@' not in search_handle:
|
||||||
# is this a local nickname on this instance?
|
# is this a local nickname on this instance?
|
||||||
local_handle = \
|
local_handle = \
|
||||||
|
@ -2234,11 +2240,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.server.translate,
|
self.server.translate,
|
||||||
base_dir, http_prefix,
|
base_dir, http_prefix,
|
||||||
nickname)
|
nickname)
|
||||||
msg = msg.encode('utf-8')
|
if msg:
|
||||||
msglen = len(msg)
|
msg = msg.encode('utf-8')
|
||||||
self._login_headers('text/html',
|
msglen = len(msg)
|
||||||
msglen, calling_domain)
|
self._login_headers('text/html',
|
||||||
self._write(msg)
|
msglen, calling_domain)
|
||||||
|
self._write(msg)
|
||||||
self.server.postreq_busy = False
|
self.server.postreq_busy = False
|
||||||
return
|
return
|
||||||
elif moderation_str.startswith('submitBlock'):
|
elif moderation_str.startswith('submitBlock'):
|
||||||
|
@ -3088,11 +3095,13 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
options_actor,
|
options_actor,
|
||||||
self.server.debug,
|
self.server.debug,
|
||||||
self.server.system_language,
|
self.server.system_language,
|
||||||
signing_priv_key_pem).encode('utf-8')
|
signing_priv_key_pem)
|
||||||
msglen = len(msg)
|
if msg:
|
||||||
self._set_headers('text/html', msglen,
|
msg = msg.encode('utf-8')
|
||||||
cookie, calling_domain, False)
|
msglen = len(msg)
|
||||||
self._write(msg)
|
self._set_headers('text/html', msglen,
|
||||||
|
cookie, calling_domain, False)
|
||||||
|
self._write(msg)
|
||||||
self.server.postreq_busy = False
|
self.server.postreq_busy = False
|
||||||
return
|
return
|
||||||
else:
|
else:
|
||||||
|
@ -3227,6 +3236,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
users_path = path.split('/unfollowconfirm')[0]
|
users_path = path.split('/unfollowconfirm')[0]
|
||||||
origin_path_str = http_prefix + '://' + domain_full + users_path
|
origin_path_str = http_prefix + '://' + domain_full + users_path
|
||||||
follower_nickname = get_nickname_from_actor(origin_path_str)
|
follower_nickname = get_nickname_from_actor(origin_path_str)
|
||||||
|
if not follower_nickname:
|
||||||
|
self.send_response(400)
|
||||||
|
self.end_headers()
|
||||||
|
self.server.postreq_busy = False
|
||||||
|
return
|
||||||
|
|
||||||
length = int(self.headers['Content-length'])
|
length = int(self.headers['Content-length'])
|
||||||
|
|
||||||
|
@ -3257,6 +3271,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
if '&' in following_actor:
|
if '&' in following_actor:
|
||||||
following_actor = following_actor.split('&')[0]
|
following_actor = following_actor.split('&')[0]
|
||||||
following_nickname = get_nickname_from_actor(following_actor)
|
following_nickname = get_nickname_from_actor(following_actor)
|
||||||
|
if not following_nickname:
|
||||||
|
self.send_response(400)
|
||||||
|
self.end_headers()
|
||||||
|
self.server.postreq_busy = False
|
||||||
|
return
|
||||||
following_domain, following_port = \
|
following_domain, following_port = \
|
||||||
get_domain_from_actor(following_actor)
|
get_domain_from_actor(following_actor)
|
||||||
following_domain_full = \
|
following_domain_full = \
|
||||||
|
@ -3318,6 +3337,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
users_path = path.split('/followconfirm')[0]
|
users_path = path.split('/followconfirm')[0]
|
||||||
origin_path_str = http_prefix + '://' + domain_full + users_path
|
origin_path_str = http_prefix + '://' + domain_full + users_path
|
||||||
follower_nickname = get_nickname_from_actor(origin_path_str)
|
follower_nickname = get_nickname_from_actor(origin_path_str)
|
||||||
|
if not follower_nickname:
|
||||||
|
self.send_response(400)
|
||||||
|
self.end_headers()
|
||||||
|
self.server.postreq_busy = False
|
||||||
|
return
|
||||||
|
|
||||||
length = int(self.headers['Content-length'])
|
length = int(self.headers['Content-length'])
|
||||||
|
|
||||||
|
@ -3358,6 +3382,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
if '&' in following_actor:
|
if '&' in following_actor:
|
||||||
following_actor = following_actor.split('&')[0]
|
following_actor = following_actor.split('&')[0]
|
||||||
following_nickname = get_nickname_from_actor(following_actor)
|
following_nickname = get_nickname_from_actor(following_actor)
|
||||||
|
if not following_nickname:
|
||||||
|
self.send_response(400)
|
||||||
|
self.end_headers()
|
||||||
|
self.server.postreq_busy = False
|
||||||
|
return
|
||||||
following_domain, following_port = \
|
following_domain, following_port = \
|
||||||
get_domain_from_actor(following_actor)
|
get_domain_from_actor(following_actor)
|
||||||
if follower_nickname == following_nickname and \
|
if follower_nickname == following_nickname and \
|
||||||
|
@ -3664,6 +3693,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
search_str = ':' + search_str + ':'
|
search_str = ':' + search_str + ':'
|
||||||
if search_str.startswith('#'):
|
if search_str.startswith('#'):
|
||||||
nickname = get_nickname_from_actor(actor_str)
|
nickname = get_nickname_from_actor(actor_str)
|
||||||
|
if not nickname:
|
||||||
|
self.send_response(400)
|
||||||
|
self.end_headers()
|
||||||
|
self.server.postreq_busy = False
|
||||||
|
return
|
||||||
|
|
||||||
# hashtag search
|
# hashtag search
|
||||||
timezone = None
|
timezone = None
|
||||||
if self.server.account_timezone.get(nickname):
|
if self.server.account_timezone.get(nickname):
|
||||||
|
@ -3761,6 +3796,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
break
|
break
|
||||||
# your post history search
|
# your post history search
|
||||||
nickname = get_nickname_from_actor(actor_str)
|
nickname = get_nickname_from_actor(actor_str)
|
||||||
|
if not nickname:
|
||||||
|
self.send_response(400)
|
||||||
|
self.end_headers()
|
||||||
|
self.server.postreq_busy = False
|
||||||
|
return
|
||||||
search_str = search_str.replace("'", '', 1).strip()
|
search_str = search_str.replace("'", '', 1).strip()
|
||||||
timezone = None
|
timezone = None
|
||||||
if self.server.account_timezone.get(nickname):
|
if self.server.account_timezone.get(nickname):
|
||||||
|
@ -3834,6 +3874,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
break
|
break
|
||||||
# bookmark search
|
# bookmark search
|
||||||
nickname = get_nickname_from_actor(actor_str)
|
nickname = get_nickname_from_actor(actor_str)
|
||||||
|
if not nickname:
|
||||||
|
self.send_response(400)
|
||||||
|
self.end_headers()
|
||||||
|
self.server.postreq_busy = False
|
||||||
|
return
|
||||||
search_str = search_str.replace('-', '', 1).strip()
|
search_str = search_str.replace('-', '', 1).strip()
|
||||||
timezone = None
|
timezone = None
|
||||||
if self.server.account_timezone.get(nickname):
|
if self.server.account_timezone.get(nickname):
|
||||||
|
@ -3890,6 +3935,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
return
|
return
|
||||||
# profile search
|
# profile search
|
||||||
nickname = get_nickname_from_actor(actor_str)
|
nickname = get_nickname_from_actor(actor_str)
|
||||||
|
if not nickname:
|
||||||
|
self.send_response(400)
|
||||||
|
self.end_headers()
|
||||||
|
self.server.postreq_busy = False
|
||||||
|
return
|
||||||
profile_path_str = path.replace('/searchhandle', '')
|
profile_path_str = path.replace('/searchhandle', '')
|
||||||
|
|
||||||
# are we already following the searched for handle?
|
# are we already following the searched for handle?
|
||||||
|
@ -3897,6 +3947,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
# get the actor
|
# get the actor
|
||||||
if not has_users_path(search_str):
|
if not has_users_path(search_str):
|
||||||
search_nickname = get_nickname_from_actor(search_str)
|
search_nickname = get_nickname_from_actor(search_str)
|
||||||
|
if not search_nickname:
|
||||||
|
self.send_response(400)
|
||||||
|
self.end_headers()
|
||||||
|
self.server.postreq_busy = False
|
||||||
|
return
|
||||||
search_domain, search_port = \
|
search_domain, search_port = \
|
||||||
get_domain_from_actor(search_str)
|
get_domain_from_actor(search_str)
|
||||||
search_domain_full = \
|
search_domain_full = \
|
||||||
|
@ -4310,6 +4365,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
local_actor_url(http_prefix, admin_nickname, domain_full)
|
local_actor_url(http_prefix, admin_nickname, domain_full)
|
||||||
actor = origin_path_str
|
actor = origin_path_str
|
||||||
actor_nickname = get_nickname_from_actor(actor)
|
actor_nickname = get_nickname_from_actor(actor)
|
||||||
|
if not actor_nickname:
|
||||||
|
self.send_response(400)
|
||||||
|
self.end_headers()
|
||||||
|
self.server.postreq_busy = False
|
||||||
|
return
|
||||||
if actor == share_actor or actor == admin_actor or \
|
if actor == share_actor or actor == admin_actor or \
|
||||||
is_moderator(base_dir, actor_nickname):
|
is_moderator(base_dir, actor_nickname):
|
||||||
item_id = remove_share_confirm_params.split('itemID=')[1]
|
item_id = remove_share_confirm_params.split('itemID=')[1]
|
||||||
|
@ -4378,6 +4438,11 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
local_actor_url(http_prefix, admin_nickname, domain_full)
|
local_actor_url(http_prefix, admin_nickname, domain_full)
|
||||||
actor = origin_path_str
|
actor = origin_path_str
|
||||||
actor_nickname = get_nickname_from_actor(actor)
|
actor_nickname = get_nickname_from_actor(actor)
|
||||||
|
if not actor_nickname:
|
||||||
|
self.send_response(400)
|
||||||
|
self.end_headers()
|
||||||
|
self.server.postreq_busy = False
|
||||||
|
return
|
||||||
if actor == share_actor or actor == admin_actor or \
|
if actor == share_actor or actor == admin_actor or \
|
||||||
is_moderator(base_dir, actor_nickname):
|
is_moderator(base_dir, actor_nickname):
|
||||||
item_id = remove_share_confirm_params.split('itemID=')[1]
|
item_id = remove_share_confirm_params.split('itemID=')[1]
|
||||||
|
@ -4921,6 +4986,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
users_path = path.replace('/citationsdata', '')
|
users_path = path.replace('/citationsdata', '')
|
||||||
actor_str = self._get_instance_url(calling_domain) + users_path
|
actor_str = self._get_instance_url(calling_domain) + users_path
|
||||||
nickname = get_nickname_from_actor(actor_str)
|
nickname = get_nickname_from_actor(actor_str)
|
||||||
|
if not nickname:
|
||||||
|
self.server.postreq_busy = False
|
||||||
|
return
|
||||||
|
|
||||||
citations_filename = \
|
citations_filename = \
|
||||||
acct_dir(base_dir, nickname, domain) + '/.citations.txt'
|
acct_dir(base_dir, nickname, domain) + '/.citations.txt'
|
||||||
|
@ -7764,8 +7832,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.server.text_mode_banner,
|
self.server.text_mode_banner,
|
||||||
self.server.news_instance,
|
self.server.news_instance,
|
||||||
authorized,
|
authorized,
|
||||||
access_keys, is_group).encode('utf-8')
|
access_keys, is_group)
|
||||||
if msg:
|
if msg:
|
||||||
|
msg = msg.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('text/html', msglen,
|
self._set_headers('text/html', msglen,
|
||||||
cookie, calling_domain, False)
|
cookie, calling_domain, False)
|
||||||
|
@ -8547,6 +8616,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
following_handle = path.split('/followapprove=')[1]
|
following_handle = path.split('/followapprove=')[1]
|
||||||
if '://' in following_handle:
|
if '://' in following_handle:
|
||||||
handle_nickname = get_nickname_from_actor(following_handle)
|
handle_nickname = get_nickname_from_actor(following_handle)
|
||||||
|
if not handle_nickname:
|
||||||
|
self._404()
|
||||||
|
return
|
||||||
handle_domain, handle_port = \
|
handle_domain, handle_port = \
|
||||||
get_domain_from_actor(following_handle)
|
get_domain_from_actor(following_handle)
|
||||||
following_handle = \
|
following_handle = \
|
||||||
|
@ -8733,6 +8805,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
following_handle = path.split('/followdeny=')[1]
|
following_handle = path.split('/followdeny=')[1]
|
||||||
if '://' in following_handle:
|
if '://' in following_handle:
|
||||||
handle_nickname = get_nickname_from_actor(following_handle)
|
handle_nickname = get_nickname_from_actor(following_handle)
|
||||||
|
if not handle_nickname:
|
||||||
|
self._404()
|
||||||
|
return
|
||||||
handle_domain, handle_port = \
|
handle_domain, handle_port = \
|
||||||
get_domain_from_actor(following_handle)
|
get_domain_from_actor(following_handle)
|
||||||
following_handle = \
|
following_handle = \
|
||||||
|
@ -10105,6 +10180,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
actor = \
|
actor = \
|
||||||
http_prefix + '://' + domain_full + path.split('?mute=')[0]
|
http_prefix + '://' + domain_full + path.split('?mute=')[0]
|
||||||
nickname = get_nickname_from_actor(actor)
|
nickname = get_nickname_from_actor(actor)
|
||||||
|
if not nickname:
|
||||||
|
self._404()
|
||||||
|
return
|
||||||
mute_post(base_dir, nickname, domain, port,
|
mute_post(base_dir, nickname, domain, port,
|
||||||
http_prefix, mute_url,
|
http_prefix, mute_url,
|
||||||
self.server.recent_posts_cache, debug)
|
self.server.recent_posts_cache, debug)
|
||||||
|
@ -10226,6 +10304,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
actor = \
|
actor = \
|
||||||
http_prefix + '://' + domain_full + path.split('?unmute=')[0]
|
http_prefix + '://' + domain_full + path.split('?unmute=')[0]
|
||||||
nickname = get_nickname_from_actor(actor)
|
nickname = get_nickname_from_actor(actor)
|
||||||
|
if not nickname:
|
||||||
|
self._404()
|
||||||
|
return
|
||||||
unmute_post(base_dir, nickname, domain, port,
|
unmute_post(base_dir, nickname, domain, port,
|
||||||
http_prefix, mute_url,
|
http_prefix, mute_url,
|
||||||
self.server.recent_posts_cache, debug)
|
self.server.recent_posts_cache, debug)
|
||||||
|
@ -13817,6 +13898,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
"""Shows a QR code for an account
|
"""Shows a QR code for an account
|
||||||
"""
|
"""
|
||||||
nickname = get_nickname_from_actor(path)
|
nickname = get_nickname_from_actor(path)
|
||||||
|
if not nickname:
|
||||||
|
self._404()
|
||||||
|
return True
|
||||||
if onion_domain:
|
if onion_domain:
|
||||||
qrcode_domain = onion_domain
|
qrcode_domain = onion_domain
|
||||||
port = 80
|
port = 80
|
||||||
|
@ -13866,6 +13950,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
"""Shows a banner image on the search screen
|
"""Shows a banner image on the search screen
|
||||||
"""
|
"""
|
||||||
nickname = get_nickname_from_actor(path)
|
nickname = get_nickname_from_actor(path)
|
||||||
|
if not nickname:
|
||||||
|
self._404()
|
||||||
|
return True
|
||||||
banner_filename = \
|
banner_filename = \
|
||||||
acct_dir(base_dir, nickname, domain) + '/search_banner.png'
|
acct_dir(base_dir, nickname, domain) + '/search_banner.png'
|
||||||
if not os.path.isfile(banner_filename):
|
if not os.path.isfile(banner_filename):
|
||||||
|
@ -14256,7 +14343,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
break
|
break
|
||||||
if is_new_post_endpoint:
|
if is_new_post_endpoint:
|
||||||
nickname = get_nickname_from_actor(path)
|
nickname = get_nickname_from_actor(path)
|
||||||
|
if not nickname:
|
||||||
|
self._404()
|
||||||
|
return True
|
||||||
if in_reply_to_url:
|
if in_reply_to_url:
|
||||||
reply_interval_hours = self.server.default_reply_interval_hrs
|
reply_interval_hours = self.server.default_reply_interval_hrs
|
||||||
if not can_reply_to(base_dir, nickname, domain,
|
if not can_reply_to(base_dir, nickname, domain,
|
||||||
|
@ -14403,8 +14492,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
access_keys,
|
access_keys,
|
||||||
default_reply_interval_hrs,
|
default_reply_interval_hrs,
|
||||||
self.server.cw_lists,
|
self.server.cw_lists,
|
||||||
self.server.lists_enabled).encode('utf-8')
|
self.server.lists_enabled)
|
||||||
if msg:
|
if msg:
|
||||||
|
msg = msg.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('text/html', msglen,
|
self._set_headers('text/html', msglen,
|
||||||
cookie, calling_domain, False)
|
cookie, calling_domain, False)
|
||||||
|
@ -14436,8 +14526,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
port,
|
port,
|
||||||
http_prefix,
|
http_prefix,
|
||||||
self.server.default_timeline,
|
self.server.default_timeline,
|
||||||
theme, access_keys).encode('utf-8')
|
theme, access_keys)
|
||||||
if msg:
|
if msg:
|
||||||
|
msg = msg.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('text/html', msglen,
|
self._set_headers('text/html', msglen,
|
||||||
cookie, calling_domain, False)
|
cookie, calling_domain, False)
|
||||||
|
@ -14470,8 +14561,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
http_prefix,
|
http_prefix,
|
||||||
self.server.default_timeline,
|
self.server.default_timeline,
|
||||||
self.server.theme_name,
|
self.server.theme_name,
|
||||||
access_keys).encode('utf-8')
|
access_keys)
|
||||||
if msg:
|
if msg:
|
||||||
|
msg = msg.encode('utf-8')
|
||||||
msglen = len(msg)
|
msglen = len(msg)
|
||||||
self._set_headers('text/html', msglen,
|
self._set_headers('text/html', msglen,
|
||||||
cookie, calling_domain, False)
|
cookie, calling_domain, False)
|
||||||
|
@ -15810,6 +15902,9 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
if html_getreq and authorized and users_in_path and \
|
if html_getreq and authorized and users_in_path and \
|
||||||
self.path.endswith('/followingaccounts'):
|
self.path.endswith('/followingaccounts'):
|
||||||
nickname = get_nickname_from_actor(self.path)
|
nickname = get_nickname_from_actor(self.path)
|
||||||
|
if not nickname:
|
||||||
|
self._404()
|
||||||
|
return
|
||||||
following_filename = \
|
following_filename = \
|
||||||
acct_dir(self.server.base_dir,
|
acct_dir(self.server.base_dir,
|
||||||
nickname, self.server.domain) + '/following.txt'
|
nickname, self.server.domain) + '/following.txt'
|
||||||
|
@ -16574,14 +16669,16 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.server.default_timeline,
|
self.server.default_timeline,
|
||||||
self.server.theme_name,
|
self.server.theme_name,
|
||||||
self.server.text_mode_banner,
|
self.server.text_mode_banner,
|
||||||
access_keys).encode('utf-8')
|
access_keys)
|
||||||
msglen = len(msg)
|
if msg:
|
||||||
self._set_headers('text/html', msglen, cookie, calling_domain,
|
msg = msg.encode('utf-8')
|
||||||
False)
|
msglen = len(msg)
|
||||||
self._write(msg)
|
self._set_headers('text/html', msglen, cookie,
|
||||||
fitness_performance(getreq_start_time, self.server.fitness,
|
calling_domain, False)
|
||||||
'_GET', 'search screen shown',
|
self._write(msg)
|
||||||
self.server.debug)
|
fitness_performance(getreq_start_time, self.server.fitness,
|
||||||
|
'_GET', 'search screen shown',
|
||||||
|
self.server.debug)
|
||||||
self.server.getreq_busy = False
|
self.server.getreq_busy = False
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -16628,20 +16725,24 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.server.domain_full,
|
self.server.domain_full,
|
||||||
self.server.text_mode_banner,
|
self.server.text_mode_banner,
|
||||||
access_keys,
|
access_keys,
|
||||||
False).encode('utf-8')
|
False)
|
||||||
msglen = len(msg)
|
if msg:
|
||||||
if 'ical=true' in self.path:
|
msg = msg.encode('utf-8')
|
||||||
self._set_headers('text/calendar',
|
msglen = len(msg)
|
||||||
msglen, cookie, calling_domain,
|
if 'ical=true' in self.path:
|
||||||
False)
|
self._set_headers('text/calendar',
|
||||||
|
msglen, cookie, calling_domain,
|
||||||
|
False)
|
||||||
|
else:
|
||||||
|
self._set_headers('text/html',
|
||||||
|
msglen, cookie, calling_domain,
|
||||||
|
False)
|
||||||
|
self._write(msg)
|
||||||
|
fitness_performance(getreq_start_time, self.server.fitness,
|
||||||
|
'_GET', 'calendar shown',
|
||||||
|
self.server.debug)
|
||||||
else:
|
else:
|
||||||
self._set_headers('text/html',
|
self._404()
|
||||||
msglen, cookie, calling_domain,
|
|
||||||
False)
|
|
||||||
self._write(msg)
|
|
||||||
fitness_performance(getreq_start_time, self.server.fitness,
|
|
||||||
'_GET', 'calendar shown',
|
|
||||||
self.server.debug)
|
|
||||||
self.server.getreq_busy = False
|
self.server.getreq_busy = False
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -17213,6 +17314,10 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
if ';' in actor:
|
if ';' in actor:
|
||||||
actor = actor.split(';')[0]
|
actor = actor.split(';')[0]
|
||||||
nickname = get_nickname_from_actor(self.path.split('?')[0])
|
nickname = get_nickname_from_actor(self.path.split('?')[0])
|
||||||
|
if not nickname:
|
||||||
|
self._404()
|
||||||
|
self.server.getreq_busy = False
|
||||||
|
return
|
||||||
if nickname == actor:
|
if nickname == actor:
|
||||||
post_url = \
|
post_url = \
|
||||||
local_actor_url(self.server.http_prefix, nickname,
|
local_actor_url(self.server.http_prefix, nickname,
|
||||||
|
@ -17715,11 +17820,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.server.debug,
|
self.server.debug,
|
||||||
self.server.system_language,
|
self.server.system_language,
|
||||||
self.server.signing_priv_key_pem)
|
self.server.signing_priv_key_pem)
|
||||||
msg = msg.encode('utf-8')
|
if msg:
|
||||||
msglen = len(msg)
|
msg = msg.encode('utf-8')
|
||||||
self._login_headers('text/html',
|
msglen = len(msg)
|
||||||
msglen, calling_domain)
|
self._login_headers('text/html',
|
||||||
self._write(msg)
|
msglen, calling_domain)
|
||||||
|
self._write(msg)
|
||||||
self.server.getreq_busy = False
|
self.server.getreq_busy = False
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -17752,11 +17858,12 @@ class PubServer(BaseHTTPRequestHandler):
|
||||||
self.server.debug,
|
self.server.debug,
|
||||||
self.server.system_language,
|
self.server.system_language,
|
||||||
self.server.signing_priv_key_pem)
|
self.server.signing_priv_key_pem)
|
||||||
msg = msg.encode('utf-8')
|
if msg:
|
||||||
msglen = len(msg)
|
msg = msg.encode('utf-8')
|
||||||
self._login_headers('text/html',
|
msglen = len(msg)
|
||||||
msglen, calling_domain)
|
self._login_headers('text/html',
|
||||||
self._write(msg)
|
msglen, calling_domain)
|
||||||
|
self._write(msg)
|
||||||
self.server.getreq_busy = False
|
self.server.getreq_busy = False
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
18
inbox.py
18
inbox.py
|
@ -1941,6 +1941,9 @@ def _receive_announce(recent_posts_cache: {},
|
||||||
# is the announce actor blocked?
|
# is the announce actor blocked?
|
||||||
nickname = handle.split('@')[0]
|
nickname = handle.split('@')[0]
|
||||||
actor_nickname = get_nickname_from_actor(message_json['actor'])
|
actor_nickname = get_nickname_from_actor(message_json['actor'])
|
||||||
|
if not actor_nickname:
|
||||||
|
print('WARN: _receive_announce no actor_nickname')
|
||||||
|
return False
|
||||||
actor_domain, _ = get_domain_from_actor(message_json['actor'])
|
actor_domain, _ = get_domain_from_actor(message_json['actor'])
|
||||||
if is_blocked(base_dir, nickname, domain, actor_nickname, actor_domain):
|
if is_blocked(base_dir, nickname, domain, actor_nickname, actor_domain):
|
||||||
print('Receive announce blocked for actor: ' +
|
print('Receive announce blocked for actor: ' +
|
||||||
|
@ -1948,13 +1951,16 @@ def _receive_announce(recent_posts_cache: {},
|
||||||
return False
|
return False
|
||||||
|
|
||||||
# also check the actor for the url being announced
|
# also check the actor for the url being announced
|
||||||
announcedActorNickname = get_nickname_from_actor(message_json['object'])
|
announced_actor_nickname = get_nickname_from_actor(message_json['object'])
|
||||||
|
if not announced_actor_nickname:
|
||||||
|
print('WARN: _receive_announce no announced_actor_nickname')
|
||||||
|
return False
|
||||||
announcedActorDomain, announcedActorPort = \
|
announcedActorDomain, announcedActorPort = \
|
||||||
get_domain_from_actor(message_json['object'])
|
get_domain_from_actor(message_json['object'])
|
||||||
if is_blocked(base_dir, nickname, domain,
|
if is_blocked(base_dir, nickname, domain,
|
||||||
announcedActorNickname, announcedActorDomain):
|
announced_actor_nickname, announcedActorDomain):
|
||||||
print('Receive announce object blocked for actor: ' +
|
print('Receive announce object blocked for actor: ' +
|
||||||
announcedActorNickname + '@' + announcedActorDomain)
|
announced_actor_nickname + '@' + announcedActorDomain)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
# is this post in the outbox of the person?
|
# is this post in the outbox of the person?
|
||||||
|
@ -2788,6 +2794,8 @@ def _inbox_update_calendar(base_dir: str, handle: str,
|
||||||
|
|
||||||
actor = post_json_object['actor']
|
actor = post_json_object['actor']
|
||||||
actor_nickname = get_nickname_from_actor(actor)
|
actor_nickname = get_nickname_from_actor(actor)
|
||||||
|
if not actor_nickname:
|
||||||
|
return
|
||||||
actor_domain, _ = get_domain_from_actor(actor)
|
actor_domain, _ = get_domain_from_actor(actor)
|
||||||
handle_nickname = handle.split('@')[0]
|
handle_nickname = handle.split('@')[0]
|
||||||
handle_domain = handle.split('@')[1]
|
handle_domain = handle.split('@')[1]
|
||||||
|
@ -3254,6 +3262,8 @@ def _low_frequency_post_notification(base_dir: str, http_prefix: str,
|
||||||
if not isinstance(attributed_to, str):
|
if not isinstance(attributed_to, str):
|
||||||
return
|
return
|
||||||
from_nickname = get_nickname_from_actor(attributed_to)
|
from_nickname = get_nickname_from_actor(attributed_to)
|
||||||
|
if not from_nickname:
|
||||||
|
return
|
||||||
from_domain, from_port = get_domain_from_actor(attributed_to)
|
from_domain, from_port = get_domain_from_actor(attributed_to)
|
||||||
from_domain_full = get_full_domain(from_domain, from_port)
|
from_domain_full = get_full_domain(from_domain, from_port)
|
||||||
if notify_when_person_posts(base_dir, nickname, domain,
|
if notify_when_person_posts(base_dir, nickname, domain,
|
||||||
|
@ -3282,6 +3292,8 @@ def _check_for_git_patches(base_dir: str, nickname: str, domain: str,
|
||||||
if not isinstance(attributed_to, str):
|
if not isinstance(attributed_to, str):
|
||||||
return 0
|
return 0
|
||||||
from_nickname = get_nickname_from_actor(attributed_to)
|
from_nickname = get_nickname_from_actor(attributed_to)
|
||||||
|
if not from_nickname:
|
||||||
|
return 0
|
||||||
from_domain, from_port = get_domain_from_actor(attributed_to)
|
from_domain, from_port = get_domain_from_actor(attributed_to)
|
||||||
from_domain_full = get_full_domain(from_domain, from_port)
|
from_domain_full = get_full_domain(from_domain, from_port)
|
||||||
if receive_git_patch(base_dir, nickname, domain,
|
if receive_git_patch(base_dir, nickname, domain,
|
||||||
|
|
3
posts.py
3
posts.py
|
@ -4815,6 +4815,9 @@ def download_announce(session, base_dir: str, http_prefix: str,
|
||||||
'Accept': accept_str
|
'Accept': accept_str
|
||||||
}
|
}
|
||||||
actor_nickname = get_nickname_from_actor(post_json_object['actor'])
|
actor_nickname = get_nickname_from_actor(post_json_object['actor'])
|
||||||
|
if not actor_nickname:
|
||||||
|
print('WARN: download_announce no actor_nickname')
|
||||||
|
return None
|
||||||
actor_domain, actor_port = \
|
actor_domain, actor_port = \
|
||||||
get_domain_from_actor(post_json_object['actor'])
|
get_domain_from_actor(post_json_object['actor'])
|
||||||
if not actor_domain:
|
if not actor_domain:
|
||||||
|
|
|
@ -541,6 +541,8 @@ def html_emoji_reactions(post_json_object: {}, interactive: bool,
|
||||||
emoji_content = item['content']
|
emoji_content = item['content']
|
||||||
emoji_actor = item['actor']
|
emoji_actor = item['actor']
|
||||||
emoji_nickname = get_nickname_from_actor(emoji_actor)
|
emoji_nickname = get_nickname_from_actor(emoji_actor)
|
||||||
|
if not emoji_nickname:
|
||||||
|
return ''
|
||||||
emoji_domain, _ = get_domain_from_actor(emoji_actor)
|
emoji_domain, _ = get_domain_from_actor(emoji_actor)
|
||||||
emoji_handle = emoji_nickname + '@' + emoji_domain
|
emoji_handle = emoji_nickname + '@' + emoji_domain
|
||||||
if emoji_actor == actor:
|
if emoji_actor == actor:
|
||||||
|
|
|
@ -158,6 +158,8 @@ def outbox_skills(base_dir: str, nickname: str, message_json: {},
|
||||||
return False
|
return False
|
||||||
|
|
||||||
actor_nickname = get_nickname_from_actor(message_json['actor'])
|
actor_nickname = get_nickname_from_actor(message_json['actor'])
|
||||||
|
if not actor_nickname:
|
||||||
|
return False
|
||||||
if actor_nickname != nickname:
|
if actor_nickname != nickname:
|
||||||
return False
|
return False
|
||||||
domain, _ = get_domain_from_actor(message_json['actor'])
|
domain, _ = get_domain_from_actor(message_json['actor'])
|
||||||
|
|
6
utils.py
6
utils.py
|
@ -2343,6 +2343,8 @@ def undo_likes_collection_entry(recent_posts_cache: {},
|
||||||
# remove any cached version of this post so that the
|
# remove any cached version of this post so that the
|
||||||
# like icon is changed
|
# like icon is changed
|
||||||
nickname = get_nickname_from_actor(actor)
|
nickname = get_nickname_from_actor(actor)
|
||||||
|
if not nickname:
|
||||||
|
return
|
||||||
cached_post_filename = \
|
cached_post_filename = \
|
||||||
get_cached_post_filename(base_dir, nickname,
|
get_cached_post_filename(base_dir, nickname,
|
||||||
domain, post_json_object)
|
domain, post_json_object)
|
||||||
|
@ -2409,6 +2411,8 @@ def undo_reaction_collection_entry(recent_posts_cache: {},
|
||||||
# remove any cached version of this post so that the
|
# remove any cached version of this post so that the
|
||||||
# like icon is changed
|
# like icon is changed
|
||||||
nickname = get_nickname_from_actor(actor)
|
nickname = get_nickname_from_actor(actor)
|
||||||
|
if not nickname:
|
||||||
|
return
|
||||||
cached_post_filename = \
|
cached_post_filename = \
|
||||||
get_cached_post_filename(base_dir, nickname,
|
get_cached_post_filename(base_dir, nickname,
|
||||||
domain, post_json_object)
|
domain, post_json_object)
|
||||||
|
@ -2476,6 +2480,8 @@ def undo_announce_collection_entry(recent_posts_cache: {},
|
||||||
# remove any cached version of this announce so that the announce
|
# remove any cached version of this announce so that the announce
|
||||||
# icon is changed
|
# icon is changed
|
||||||
nickname = get_nickname_from_actor(actor)
|
nickname = get_nickname_from_actor(actor)
|
||||||
|
if not nickname:
|
||||||
|
return
|
||||||
cached_post_filename = \
|
cached_post_filename = \
|
||||||
get_cached_post_filename(base_dir, nickname, domain,
|
get_cached_post_filename(base_dir, nickname, domain,
|
||||||
post_json_object)
|
post_json_object)
|
||||||
|
|
|
@ -42,6 +42,8 @@ def html_calendar_delete_confirm(css_cache: {}, translate: {}, base_dir: str,
|
||||||
"""Shows a screen asking to confirm the deletion of a calendar event
|
"""Shows a screen asking to confirm the deletion of a calendar event
|
||||||
"""
|
"""
|
||||||
nickname = get_nickname_from_actor(path)
|
nickname = get_nickname_from_actor(path)
|
||||||
|
if not nickname:
|
||||||
|
return None
|
||||||
actor = local_actor_url(http_prefix, nickname, domain_full)
|
actor = local_actor_url(http_prefix, nickname, domain_full)
|
||||||
domain, _ = get_domain_from_actor(actor)
|
domain, _ = get_domain_from_actor(actor)
|
||||||
message_id = actor + '/statuses/' + post_id
|
message_id = actor + '/statuses/' + post_id
|
||||||
|
@ -304,6 +306,8 @@ def html_calendar(person_cache: {}, css_cache: {}, translate: {},
|
||||||
month_number = curr_date.month
|
month_number = curr_date.month
|
||||||
|
|
||||||
nickname = get_nickname_from_actor(actor)
|
nickname = get_nickname_from_actor(actor)
|
||||||
|
if not nickname:
|
||||||
|
return ''
|
||||||
|
|
||||||
set_custom_background(base_dir, 'calendar-background',
|
set_custom_background(base_dir, 'calendar-background',
|
||||||
'calendar-background')
|
'calendar-background')
|
||||||
|
|
|
@ -45,6 +45,8 @@ def html_confirm_delete(css_cache: {},
|
||||||
return None
|
return None
|
||||||
actor = message_id.split('/statuses/')[0]
|
actor = message_id.split('/statuses/')[0]
|
||||||
nickname = get_nickname_from_actor(actor)
|
nickname = get_nickname_from_actor(actor)
|
||||||
|
if not nickname:
|
||||||
|
return None
|
||||||
domain, port = get_domain_from_actor(actor)
|
domain, port = get_domain_from_actor(actor)
|
||||||
domain_full = get_full_domain(domain, port)
|
domain_full = get_full_domain(domain, port)
|
||||||
|
|
||||||
|
@ -119,6 +121,8 @@ def html_confirm_remove_shared_item(css_cache: {}, translate: {},
|
||||||
"""Shows a screen asking to confirm the removal of a shared item
|
"""Shows a screen asking to confirm the removal of a shared item
|
||||||
"""
|
"""
|
||||||
nickname = get_nickname_from_actor(actor)
|
nickname = get_nickname_from_actor(actor)
|
||||||
|
if not nickname:
|
||||||
|
return None
|
||||||
domain, port = get_domain_from_actor(actor)
|
domain, port = get_domain_from_actor(actor)
|
||||||
domain_full = get_full_domain(domain, port)
|
domain_full = get_full_domain(domain, port)
|
||||||
shares_file = \
|
shares_file = \
|
||||||
|
@ -207,10 +211,11 @@ def html_confirm_follow(css_cache: {}, translate: {}, base_dir: str,
|
||||||
follow_str += ' <a href="' + follow_actor + '">\n'
|
follow_str += ' <a href="' + follow_actor + '">\n'
|
||||||
follow_str += \
|
follow_str += \
|
||||||
' <img loading="lazy" src="' + follow_profile_url + '"/></a>\n'
|
' <img loading="lazy" src="' + follow_profile_url + '"/></a>\n'
|
||||||
follow_str += \
|
follow_actor_nick = get_nickname_from_actor(follow_actor)
|
||||||
' <p class="followText">' + translate['Follow'] + ' ' + \
|
if follow_actor_nick:
|
||||||
get_nickname_from_actor(follow_actor) + \
|
follow_str += \
|
||||||
'@' + follow_domain + ' ?</p>\n'
|
' <p class="followText">' + translate['Follow'] + ' ' + \
|
||||||
|
follow_actor_nick + '@' + follow_domain + ' ?</p>\n'
|
||||||
follow_str += ' <form method="POST" action="' + \
|
follow_str += ' <form method="POST" action="' + \
|
||||||
origin_path_str + '/followconfirm">\n'
|
origin_path_str + '/followconfirm">\n'
|
||||||
follow_str += ' <input type="hidden" name="actor" value="' + \
|
follow_str += ' <input type="hidden" name="actor" value="' + \
|
||||||
|
@ -255,10 +260,11 @@ def html_confirm_unfollow(css_cache: {}, translate: {}, base_dir: str,
|
||||||
follow_str += ' <a href="' + follow_actor + '">\n'
|
follow_str += ' <a href="' + follow_actor + '">\n'
|
||||||
follow_str += \
|
follow_str += \
|
||||||
' <img loading="lazy" src="' + follow_profile_url + '"/></a>\n'
|
' <img loading="lazy" src="' + follow_profile_url + '"/></a>\n'
|
||||||
follow_str += \
|
follow_actor_nick = get_nickname_from_actor(follow_actor)
|
||||||
' <p class="followText">' + translate['Stop following'] + \
|
if follow_actor_nick:
|
||||||
' ' + get_nickname_from_actor(follow_actor) + \
|
follow_str += \
|
||||||
'@' + follow_domain + ' ?</p>\n'
|
' <p class="followText">' + translate['Stop following'] + \
|
||||||
|
' ' + follow_actor_nick + '@' + follow_domain + ' ?</p>\n'
|
||||||
follow_str += ' <form method="POST" action="' + \
|
follow_str += ' <form method="POST" action="' + \
|
||||||
origin_path_str + '/unfollowconfirm">\n'
|
origin_path_str + '/unfollowconfirm">\n'
|
||||||
follow_str += ' <input type="hidden" name="actor" value="' + \
|
follow_str += ' <input type="hidden" name="actor" value="' + \
|
||||||
|
@ -300,9 +306,11 @@ def html_confirm_unblock(css_cache: {}, translate: {}, base_dir: str,
|
||||||
block_str += ' <a href="' + block_actor + '">\n'
|
block_str += ' <a href="' + block_actor + '">\n'
|
||||||
block_str += \
|
block_str += \
|
||||||
' <img loading="lazy" src="' + block_profile_url + '"/></a>\n'
|
' <img loading="lazy" src="' + block_profile_url + '"/></a>\n'
|
||||||
block_str += \
|
block_actor_nick = get_nickname_from_actor(block_actor)
|
||||||
' <p class="blockText">' + translate['Stop blocking'] + ' ' + \
|
if block_actor_nick:
|
||||||
get_nickname_from_actor(block_actor) + '@' + block_domain + ' ?</p>\n'
|
block_str += \
|
||||||
|
' <p class="blockText">' + translate['Stop blocking'] + ' ' + \
|
||||||
|
block_actor_nick + '@' + block_domain + ' ?</p>\n'
|
||||||
block_str += ' <form method="POST" action="' + \
|
block_str += ' <form method="POST" action="' + \
|
||||||
origin_path_str + '/unblockconfirm">\n'
|
origin_path_str + '/unblockconfirm">\n'
|
||||||
block_str += ' <input type="hidden" name="actor" value="' + \
|
block_str += ' <input type="hidden" name="actor" value="' + \
|
||||||
|
|
|
@ -200,6 +200,8 @@ def html_search_hashtag_category(css_cache: {}, translate: {},
|
||||||
actor = path.split('/category/')[0]
|
actor = path.split('/category/')[0]
|
||||||
category_str = path.split('/category/')[1].strip()
|
category_str = path.split('/category/')[1].strip()
|
||||||
search_nickname = get_nickname_from_actor(actor)
|
search_nickname = get_nickname_from_actor(actor)
|
||||||
|
if not search_nickname:
|
||||||
|
return ''
|
||||||
|
|
||||||
set_custom_background(base_dir, 'search-background', 'follow-background')
|
set_custom_background(base_dir, 'search-background', 'follow-background')
|
||||||
|
|
||||||
|
|
|
@ -142,6 +142,8 @@ def html_likers_of_post(base_dir: str, nickname: str,
|
||||||
liker_name, False)
|
liker_name, False)
|
||||||
else:
|
else:
|
||||||
liker_name = get_nickname_from_actor(liker_actor)
|
liker_name = get_nickname_from_actor(liker_actor)
|
||||||
|
if not liker_name:
|
||||||
|
liker_name = 'unknown'
|
||||||
if likers_list:
|
if likers_list:
|
||||||
likers_list += ' '
|
likers_list += ' '
|
||||||
liker_avatar_url = \
|
liker_avatar_url = \
|
||||||
|
|
|
@ -107,6 +107,8 @@ def html_account_info(css_cache: {}, translate: {},
|
||||||
html_header_with_external_style(css_filename, instance_title, None)
|
html_header_with_external_style(css_filename, instance_title, None)
|
||||||
|
|
||||||
search_nickname = get_nickname_from_actor(search_handle)
|
search_nickname = get_nickname_from_actor(search_handle)
|
||||||
|
if not search_nickname:
|
||||||
|
return ''
|
||||||
search_domain, search_port = get_domain_from_actor(search_handle)
|
search_domain, search_port = get_domain_from_actor(search_handle)
|
||||||
|
|
||||||
search_handle = search_nickname + '@' + search_domain
|
search_handle = search_nickname + '@' + search_domain
|
||||||
|
@ -146,6 +148,8 @@ def html_account_info(css_cache: {}, translate: {},
|
||||||
blocked_followers = []
|
blocked_followers = []
|
||||||
for follower_actor in followers_list:
|
for follower_actor in followers_list:
|
||||||
follower_nickname = get_nickname_from_actor(follower_actor)
|
follower_nickname = get_nickname_from_actor(follower_actor)
|
||||||
|
if not follower_nickname:
|
||||||
|
return ''
|
||||||
follower_domain, follower_port = get_domain_from_actor(follower_actor)
|
follower_domain, follower_port = get_domain_from_actor(follower_actor)
|
||||||
follower_domain_full = get_full_domain(follower_domain, follower_port)
|
follower_domain_full = get_full_domain(follower_domain, follower_port)
|
||||||
if is_blocked(base_dir, nickname, domain,
|
if is_blocked(base_dir, nickname, domain,
|
||||||
|
@ -160,6 +164,8 @@ def html_account_info(css_cache: {}, translate: {},
|
||||||
blocked_following = []
|
blocked_following = []
|
||||||
for following_actor in following_list:
|
for following_actor in following_list:
|
||||||
following_nickname = get_nickname_from_actor(following_actor)
|
following_nickname = get_nickname_from_actor(following_actor)
|
||||||
|
if not following_nickname:
|
||||||
|
return ''
|
||||||
following_domain, following_port = \
|
following_domain, following_port = \
|
||||||
get_domain_from_actor(following_actor)
|
get_domain_from_actor(following_actor)
|
||||||
following_domain_full = \
|
following_domain_full = \
|
||||||
|
@ -224,6 +230,8 @@ def html_account_info(css_cache: {}, translate: {},
|
||||||
':</p>\n'
|
':</p>\n'
|
||||||
for actor in blocked_following:
|
for actor in blocked_following:
|
||||||
following_nickname = get_nickname_from_actor(actor)
|
following_nickname = get_nickname_from_actor(actor)
|
||||||
|
if not following_nickname:
|
||||||
|
return ''
|
||||||
following_domain, following_port = get_domain_from_actor(actor)
|
following_domain, following_port = get_domain_from_actor(actor)
|
||||||
following_domain_full = \
|
following_domain_full = \
|
||||||
get_full_domain(following_domain, following_port)
|
get_full_domain(following_domain, following_port)
|
||||||
|
@ -243,6 +251,8 @@ def html_account_info(css_cache: {}, translate: {},
|
||||||
':</p>\n'
|
':</p>\n'
|
||||||
for actor in blocked_followers:
|
for actor in blocked_followers:
|
||||||
follower_nickname = get_nickname_from_actor(actor)
|
follower_nickname = get_nickname_from_actor(actor)
|
||||||
|
if not follower_nickname:
|
||||||
|
return ''
|
||||||
follower_domain, follower_port = get_domain_from_actor(actor)
|
follower_domain, follower_port = get_domain_from_actor(actor)
|
||||||
follower_domain_full = \
|
follower_domain_full = \
|
||||||
get_full_domain(follower_domain, follower_port)
|
get_full_domain(follower_domain, follower_port)
|
||||||
|
|
|
@ -99,6 +99,8 @@ def html_person_options(default_timeline: str,
|
||||||
dormant_months)
|
dormant_months)
|
||||||
|
|
||||||
options_nickname = get_nickname_from_actor(options_actor)
|
options_nickname = get_nickname_from_actor(options_actor)
|
||||||
|
if not options_nickname:
|
||||||
|
return None
|
||||||
options_domain_full = get_full_domain(options_domain, options_port)
|
options_domain_full = get_full_domain(options_domain, options_port)
|
||||||
follows_you = \
|
follows_you = \
|
||||||
is_follower_of_person(base_dir,
|
is_follower_of_person(base_dir,
|
||||||
|
@ -142,7 +144,10 @@ def html_person_options(default_timeline: str,
|
||||||
options_str += ' <a href="' + options_actor + '">\n'
|
options_str += ' <a href="' + options_actor + '">\n'
|
||||||
options_str += ' <img loading="lazy" src="' + options_profile_url + \
|
options_str += ' <img loading="lazy" src="' + options_profile_url + \
|
||||||
'" alt="" ' + get_broken_link_substitute() + '/></a>\n'
|
'" alt="" ' + get_broken_link_substitute() + '/></a>\n'
|
||||||
handle = get_nickname_from_actor(options_actor) + '@' + options_domain
|
handle_nick = get_nickname_from_actor(options_actor)
|
||||||
|
if not handle_nick:
|
||||||
|
return None
|
||||||
|
handle = handle_nick + '@' + options_domain
|
||||||
handle_shown = handle
|
handle_shown = handle
|
||||||
if locked_account:
|
if locked_account:
|
||||||
handle_shown += '🔒'
|
handle_shown += '🔒'
|
||||||
|
|
|
@ -104,11 +104,12 @@ def _html_post_metadata_open_graph(domain: str, post_json_object: {}) -> str:
|
||||||
if isinstance(obj_json['attributedTo'], str):
|
if isinstance(obj_json['attributedTo'], str):
|
||||||
attrib = obj_json['attributedTo']
|
attrib = obj_json['attributedTo']
|
||||||
actor_nick = get_nickname_from_actor(attrib)
|
actor_nick = get_nickname_from_actor(attrib)
|
||||||
actor_domain, _ = get_domain_from_actor(attrib)
|
if actor_nick:
|
||||||
actor_handle = actor_nick + '@' + actor_domain
|
actor_domain, _ = get_domain_from_actor(attrib)
|
||||||
metadata += \
|
actor_handle = actor_nick + '@' + actor_domain
|
||||||
" <meta content=\"@" + actor_handle + \
|
metadata += \
|
||||||
"\" property=\"og:title\" />\n"
|
" <meta content=\"@" + actor_handle + \
|
||||||
|
"\" property=\"og:title\" />\n"
|
||||||
if obj_json.get('url'):
|
if obj_json.get('url'):
|
||||||
metadata += \
|
metadata += \
|
||||||
" <meta content=\"" + obj_json['url'] + \
|
" <meta content=\"" + obj_json['url'] + \
|
||||||
|
@ -410,6 +411,8 @@ def _get_reply_icon_html(base_dir: str, nickname: str, domain: str,
|
||||||
# check that the alternative replyTo url is not blocked
|
# check that the alternative replyTo url is not blocked
|
||||||
block_nickname = \
|
block_nickname = \
|
||||||
get_nickname_from_actor(post_json_object['object']['replyTo'])
|
get_nickname_from_actor(post_json_object['object']['replyTo'])
|
||||||
|
if not block_nickname:
|
||||||
|
return reply_str
|
||||||
block_domain, _ = \
|
block_domain, _ = \
|
||||||
get_domain_from_actor(post_json_object['object']['replyTo'])
|
get_domain_from_actor(post_json_object['object']['replyTo'])
|
||||||
if not is_blocked(base_dir, nickname, domain,
|
if not is_blocked(base_dir, nickname, domain,
|
||||||
|
@ -1516,6 +1519,8 @@ def individual_post_as_html(signing_priv_key_pem: str,
|
||||||
if domain_full not in post_actor:
|
if domain_full not in post_actor:
|
||||||
# lookup the correct webfinger for the post_actor
|
# lookup the correct webfinger for the post_actor
|
||||||
post_actor_nickname = get_nickname_from_actor(post_actor)
|
post_actor_nickname = get_nickname_from_actor(post_actor)
|
||||||
|
if not post_actor_nickname:
|
||||||
|
return ''
|
||||||
post_actor_domain, post_actor_port = get_domain_from_actor(post_actor)
|
post_actor_domain, post_actor_port = get_domain_from_actor(post_actor)
|
||||||
post_actor_domain_full = \
|
post_actor_domain_full = \
|
||||||
get_full_domain(post_actor_domain, post_actor_port)
|
get_full_domain(post_actor_domain, post_actor_port)
|
||||||
|
@ -2132,6 +2137,8 @@ def html_individual_post(css_cache: {},
|
||||||
|
|
||||||
if by_str:
|
if by_str:
|
||||||
by_str_nickname = get_nickname_from_actor(by_str)
|
by_str_nickname = get_nickname_from_actor(by_str)
|
||||||
|
if not by_str_nickname:
|
||||||
|
return ''
|
||||||
by_str_domain, by_str_port = get_domain_from_actor(by_str)
|
by_str_domain, by_str_port = get_domain_from_actor(by_str)
|
||||||
by_str_domain = get_full_domain(by_str_domain, by_str_port)
|
by_str_domain = get_full_domain(by_str_domain, by_str_port)
|
||||||
by_str_handle = by_str_nickname + '@' + by_str_domain
|
by_str_handle = by_str_nickname + '@' + by_str_domain
|
||||||
|
|
|
@ -2429,6 +2429,8 @@ def _individual_follow_as_html(signing_priv_key_pem: str,
|
||||||
"""An individual follow entry on the profile screen
|
"""An individual follow entry on the profile screen
|
||||||
"""
|
"""
|
||||||
follow_url_nickname = get_nickname_from_actor(followUrl)
|
follow_url_nickname = get_nickname_from_actor(followUrl)
|
||||||
|
if not follow_url_nickname:
|
||||||
|
return ''
|
||||||
follow_url_domain, follow_url_port = get_domain_from_actor(followUrl)
|
follow_url_domain, follow_url_port = get_domain_from_actor(followUrl)
|
||||||
follow_url_domain_full = \
|
follow_url_domain_full = \
|
||||||
get_full_domain(follow_url_domain, follow_url_port)
|
get_full_domain(follow_url_domain, follow_url_port)
|
||||||
|
|
|
@ -380,6 +380,8 @@ def html_search(css_cache: {}, translate: {},
|
||||||
"""
|
"""
|
||||||
actor = path.replace('/search', '')
|
actor = path.replace('/search', '')
|
||||||
search_nickname = get_nickname_from_actor(actor)
|
search_nickname = get_nickname_from_actor(actor)
|
||||||
|
if not search_nickname:
|
||||||
|
return ''
|
||||||
|
|
||||||
set_custom_background(base_dir, 'search-background', 'follow-background')
|
set_custom_background(base_dir, 'search-background', 'follow-background')
|
||||||
|
|
||||||
|
|
|
@ -418,6 +418,8 @@ def shares_timeline_json(actor: str, pageNumber: int, items_per_page: int,
|
||||||
share_actor = share_actor.replace('___', '://')
|
share_actor = share_actor.replace('___', '://')
|
||||||
share_actor = share_actor.replace('--', '/')
|
share_actor = share_actor.replace('--', '/')
|
||||||
share_nickname = get_nickname_from_actor(share_actor)
|
share_nickname = get_nickname_from_actor(share_actor)
|
||||||
|
if not share_nickname:
|
||||||
|
continue
|
||||||
if is_blocked(base_dir, nickname, domain,
|
if is_blocked(base_dir, nickname, domain,
|
||||||
share_nickname, federated_domain, None):
|
share_nickname, federated_domain, None):
|
||||||
continue
|
continue
|
||||||
|
@ -1538,6 +1540,8 @@ def html_search_result_share(base_dir: str, shared_item: {}, translate: {},
|
||||||
# should the remove button be shown?
|
# should the remove button be shown?
|
||||||
show_remove_button = False
|
show_remove_button = False
|
||||||
nickname = get_nickname_from_actor(actor)
|
nickname = get_nickname_from_actor(actor)
|
||||||
|
if not nickname:
|
||||||
|
return ''
|
||||||
if actor.endswith('/users/' + contact_nickname):
|
if actor.endswith('/users/' + contact_nickname):
|
||||||
show_remove_button = True
|
show_remove_button = True
|
||||||
elif is_moderator(base_dir, nickname):
|
elif is_moderator(base_dir, nickname):
|
||||||
|
|
Loading…
Reference in New Issue