mirror of https://gitlab.com/bashrc2/epicyon
Add mutuals icon
parent
b4b2eeb01f
commit
262647575d
|
|
@ -19,6 +19,7 @@ from utils import get_nickname_from_actor
|
||||||
from utils import get_domain_from_actor
|
from utils import get_domain_from_actor
|
||||||
from utils import get_full_domain
|
from utils import get_full_domain
|
||||||
from utils import get_followers_list
|
from utils import get_followers_list
|
||||||
|
from utils import get_mutuals_of_person
|
||||||
|
|
||||||
|
|
||||||
def load_searchable_by_default(base_dir: str) -> {}:
|
def load_searchable_by_default(base_dir: str) -> {}:
|
||||||
|
|
@ -140,22 +141,6 @@ def _search_virtual_box_posts(base_dir: str, nickname: str, domain: str,
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
|
||||||
def _get_mutuals_of_person(base_dir: str,
|
|
||||||
nickname: str, domain: str) -> []:
|
|
||||||
"""Returns the mutuals of a person
|
|
||||||
i.e. accounts which they follow and which also follow back
|
|
||||||
"""
|
|
||||||
followers = \
|
|
||||||
get_followers_list(base_dir, nickname, domain, 'followers.txt')
|
|
||||||
following = \
|
|
||||||
get_followers_list(base_dir, nickname, domain, 'following.txt')
|
|
||||||
mutuals: list[str] = []
|
|
||||||
for handle in following:
|
|
||||||
if handle in followers:
|
|
||||||
mutuals.append(handle)
|
|
||||||
return mutuals
|
|
||||||
|
|
||||||
|
|
||||||
def search_box_posts(base_dir: str, nickname: str, domain: str,
|
def search_box_posts(base_dir: str, nickname: str, domain: str,
|
||||||
search_str: str, max_results: int,
|
search_str: str, max_results: int,
|
||||||
box_name: str = 'outbox') -> []:
|
box_name: str = 'outbox') -> []:
|
||||||
|
|
@ -190,7 +175,7 @@ def search_box_posts(base_dir: str, nickname: str, domain: str,
|
||||||
following_list = get_followers_list(base_dir, nickname, domain,
|
following_list = get_followers_list(base_dir, nickname, domain,
|
||||||
'following.txt')
|
'following.txt')
|
||||||
# create a list containing all of the mutuals
|
# create a list containing all of the mutuals
|
||||||
mutuals_list = _get_mutuals_of_person(base_dir, nickname, domain)
|
mutuals_list = get_mutuals_of_person(base_dir, nickname, domain)
|
||||||
|
|
||||||
res: list[str] = []
|
res: list[str] = []
|
||||||
for root, _, fnames in os.walk(path):
|
for root, _, fnames in os.walk(path):
|
||||||
|
|
|
||||||
16
utils.py
16
utils.py
|
|
@ -814,6 +814,22 @@ def get_followers_list(base_dir: str,
|
||||||
return []
|
return []
|
||||||
|
|
||||||
|
|
||||||
|
def get_mutuals_of_person(base_dir: str,
|
||||||
|
nickname: str, domain: str) -> []:
|
||||||
|
"""Returns the mutuals of a person
|
||||||
|
i.e. accounts which they follow and which also follow back
|
||||||
|
"""
|
||||||
|
followers = \
|
||||||
|
get_followers_list(base_dir, nickname, domain, 'followers.txt')
|
||||||
|
following = \
|
||||||
|
get_followers_list(base_dir, nickname, domain, 'following.txt')
|
||||||
|
mutuals: list[str] = []
|
||||||
|
for handle in following:
|
||||||
|
if handle in followers:
|
||||||
|
mutuals.append(handle)
|
||||||
|
return mutuals
|
||||||
|
|
||||||
|
|
||||||
def get_followers_of_person(base_dir: str,
|
def get_followers_of_person(base_dir: str,
|
||||||
nickname: str, domain: str,
|
nickname: str, domain: str,
|
||||||
follow_file: str = 'following.txt') -> []:
|
follow_file: str = 'following.txt') -> []:
|
||||||
|
|
|
||||||
|
|
@ -42,6 +42,7 @@ from textmode import text_mode_removals
|
||||||
from quote import get_quote_toot_url
|
from quote import get_quote_toot_url
|
||||||
from timeFunctions import date_from_string_format
|
from timeFunctions import date_from_string_format
|
||||||
from timeFunctions import convert_published_to_local_timezone
|
from timeFunctions import convert_published_to_local_timezone
|
||||||
|
from utils import get_mutuals_of_person
|
||||||
from utils import save_json
|
from utils import save_json
|
||||||
from utils import remove_header_tags
|
from utils import remove_header_tags
|
||||||
from utils import get_actor_from_post_id
|
from utils import get_actor_from_post_id
|
||||||
|
|
@ -1501,7 +1502,8 @@ def _get_post_title_announce_html(base_dir: str,
|
||||||
container_class: str,
|
container_class: str,
|
||||||
mitm: bool,
|
mitm: bool,
|
||||||
mitm_servers: [],
|
mitm_servers: [],
|
||||||
software_name: str) -> (str, str, str, str):
|
software_name: str,
|
||||||
|
mutuals_list: []) -> (str, str, str, str):
|
||||||
"""Returns the announce title of a post containing names of participants
|
"""Returns the announce title of a post containing names of participants
|
||||||
x announces y
|
x announces y
|
||||||
"""
|
"""
|
||||||
|
|
@ -1564,10 +1566,15 @@ def _get_post_title_announce_html(base_dir: str,
|
||||||
nickname, domain,
|
nickname, domain,
|
||||||
announce_display_name, False,
|
announce_display_name, False,
|
||||||
translate)
|
translate)
|
||||||
|
# add mutual icon to the display name
|
||||||
|
mutuals_icon = ''
|
||||||
|
if announce_handle in mutuals_list:
|
||||||
|
mutuals_icon = ' ⇆'
|
||||||
|
|
||||||
_log_post_timing(enable_timing_log, post_start_time, '13.3.1')
|
_log_post_timing(enable_timing_log, post_start_time, '13.3.1')
|
||||||
title_str += \
|
title_str += \
|
||||||
_announce_with_display_name_html(translate, post_json_object,
|
_announce_with_display_name_html(translate, post_json_object,
|
||||||
announce_display_name,
|
announce_display_name + mutuals_icon,
|
||||||
nickname, announce_handle)
|
nickname, announce_handle)
|
||||||
|
|
||||||
if mitm or announce_domain in mitm_servers:
|
if mitm or announce_domain in mitm_servers:
|
||||||
|
|
@ -1926,7 +1933,8 @@ def _get_post_title_html(base_dir: str,
|
||||||
session,
|
session,
|
||||||
debug: bool,
|
debug: bool,
|
||||||
mitm_servers: [],
|
mitm_servers: [],
|
||||||
software_name: str) -> (str, str, str, str):
|
software_name: str,
|
||||||
|
mutuals_list: []) -> (str, str, str, str):
|
||||||
"""Returns the title of a post containing names of participants
|
"""Returns the title of a post containing names of participants
|
||||||
x replies to y, x announces y, etc
|
x replies to y, x announces y, etc
|
||||||
"""
|
"""
|
||||||
|
|
@ -1954,7 +1962,8 @@ def _get_post_title_html(base_dir: str,
|
||||||
container_class_icons,
|
container_class_icons,
|
||||||
container_class, mitm,
|
container_class, mitm,
|
||||||
mitm_servers,
|
mitm_servers,
|
||||||
software_name)
|
software_name,
|
||||||
|
mutuals_list)
|
||||||
|
|
||||||
return _get_post_title_reply_html(base_dir,
|
return _get_post_title_reply_html(base_dir,
|
||||||
http_prefix,
|
http_prefix,
|
||||||
|
|
@ -2638,6 +2647,14 @@ def individual_post_as_html(signing_priv_key_pem: str,
|
||||||
if mitm or actor_domain in mitm_servers:
|
if mitm or actor_domain in mitm_servers:
|
||||||
mitm_str = ' ' + mitm_warning_html(translate)
|
mitm_str = ' ' + mitm_warning_html(translate)
|
||||||
|
|
||||||
|
# get the list of mutuals for the current account
|
||||||
|
mutuals_list = get_mutuals_of_person(base_dir, nickname, domain)
|
||||||
|
|
||||||
|
# add mutual icon to the display name
|
||||||
|
mutuals_icon = ''
|
||||||
|
if actor_handle in mutuals_list:
|
||||||
|
mutuals_icon = ' ⇆'
|
||||||
|
|
||||||
if display_name:
|
if display_name:
|
||||||
display_name = _enforce_max_display_name_length(display_name)
|
display_name = _enforce_max_display_name_length(display_name)
|
||||||
# add emojis
|
# add emojis
|
||||||
|
|
@ -2651,7 +2668,7 @@ def individual_post_as_html(signing_priv_key_pem: str,
|
||||||
nickname + '?options=' + post_actor + \
|
nickname + '?options=' + post_actor + \
|
||||||
';' + str(page_number) + ';' + avatar_url + message_id_str + \
|
';' + str(page_number) + ';' + avatar_url + message_id_str + \
|
||||||
'" tabindex="10" title="' + actor_handle + '">' + \
|
'" tabindex="10" title="' + actor_handle + '">' + \
|
||||||
'<span itemprop="author">' + display_name + \
|
'<span itemprop="author">' + display_name + mutuals_icon + \
|
||||||
mitm_str + '</span></a>\n'
|
mitm_str + '</span></a>\n'
|
||||||
else:
|
else:
|
||||||
if not message_id:
|
if not message_id:
|
||||||
|
|
@ -2668,7 +2685,7 @@ def individual_post_as_html(signing_priv_key_pem: str,
|
||||||
nickname + '?options=' + post_actor + \
|
nickname + '?options=' + post_actor + \
|
||||||
';' + str(page_number) + ';' + avatar_url + message_id_str + \
|
';' + str(page_number) + ';' + avatar_url + message_id_str + \
|
||||||
'" tabindex="10">' + \
|
'" tabindex="10">' + \
|
||||||
'@<span itemprop="author">' + actor_handle + \
|
'@<span itemprop="author">' + actor_handle + mutuals_icon + \
|
||||||
mitm_str + '</span></a>\n'
|
mitm_str + '</span></a>\n'
|
||||||
|
|
||||||
# benchmark 9
|
# benchmark 9
|
||||||
|
|
@ -2873,7 +2890,8 @@ def individual_post_as_html(signing_priv_key_pem: str,
|
||||||
signing_priv_key_pem,
|
signing_priv_key_pem,
|
||||||
session, False,
|
session, False,
|
||||||
mitm_servers,
|
mitm_servers,
|
||||||
software_name)
|
software_name,
|
||||||
|
mutuals_list)
|
||||||
title_str += title_str2
|
title_str += title_str2
|
||||||
|
|
||||||
_log_post_timing(enable_timing_log, post_start_time, '14')
|
_log_post_timing(enable_timing_log, post_start_time, '14')
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue