mirror of https://gitlab.com/bashrc2/epicyon
Use reply and announce inhibitors in desktop client
parent
365c0626a1
commit
3a1dcc22cf
|
@ -16,6 +16,8 @@ import webbrowser
|
|||
import urllib.parse
|
||||
from pathlib import Path
|
||||
from random import randint
|
||||
from utils import disallow_announce
|
||||
from utils import disallow_reply
|
||||
from utils import get_base_content_from_post
|
||||
from utils import has_object_dict
|
||||
from utils import get_full_domain
|
||||
|
@ -1757,6 +1759,10 @@ def run_desktop_client(base_dir: str, proxy_type: str, http_prefix: str,
|
|||
print('')
|
||||
elif command_str in ('reply', 'r'):
|
||||
if post_json_object:
|
||||
post_content = ''
|
||||
if post_json_object['object'].get('content'):
|
||||
post_content = post_json_object['object']['content']
|
||||
if not disallow_reply(post_content):
|
||||
if post_json_object.get('id'):
|
||||
post_id = post_json_object['id']
|
||||
subject = None
|
||||
|
@ -1768,11 +1774,14 @@ def run_desktop_client(base_dir: str, proxy_type: str, http_prefix: str,
|
|||
post_json_object['object']['conversation']
|
||||
session_reply = create_session(proxy_type)
|
||||
_desktop_reply_to_post(session_reply, post_id,
|
||||
base_dir, nickname, password,
|
||||
base_dir, nickname,
|
||||
password,
|
||||
domain, port, http_prefix,
|
||||
cached_webfingers, person_cache,
|
||||
cached_webfingers,
|
||||
person_cache,
|
||||
debug, subject,
|
||||
screenreader, system_language,
|
||||
screenreader,
|
||||
system_language,
|
||||
languages_understood,
|
||||
espeak, conversation_id,
|
||||
low_bandwidth,
|
||||
|
@ -2130,6 +2139,10 @@ def run_desktop_client(base_dir: str, proxy_type: str, http_prefix: str,
|
|||
post_json_object = \
|
||||
_desktop_get_box_post_object(box_json, curr_index)
|
||||
if post_json_object:
|
||||
post_content = ''
|
||||
if post_json_object['object'].get('content'):
|
||||
post_content = post_json_object['object']['content']
|
||||
if not disallow_announce(post_content):
|
||||
if post_json_object.get('id'):
|
||||
post_id = post_json_object['id']
|
||||
announce_actor = \
|
||||
|
@ -2140,7 +2153,8 @@ def run_desktop_client(base_dir: str, proxy_type: str, http_prefix: str,
|
|||
screenreader,
|
||||
system_language, espeak)
|
||||
session_announce = create_session(proxy_type)
|
||||
send_announce_via_server(base_dir, session_announce,
|
||||
send_announce_via_server(base_dir,
|
||||
session_announce,
|
||||
nickname, password,
|
||||
domain, port,
|
||||
http_prefix, post_id,
|
||||
|
|
38
utils.py
38
utils.py
|
@ -3614,3 +3614,41 @@ def is_i2p_request(calling_domain: str, referer_domain: str,
|
|||
if referer_domain.endswith('.i2p'):
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
def disallow_announce(content: str) -> bool:
|
||||
"""Are announces/boosts not allowed for the given post?
|
||||
"""
|
||||
disallow_strings = (
|
||||
':boost_no:',
|
||||
':noboost:',
|
||||
':noboosts:',
|
||||
':no_boost:',
|
||||
':no_boosts:',
|
||||
':boosts_no:',
|
||||
'dont_repeat',
|
||||
'dont_announce',
|
||||
'dont_boost'
|
||||
)
|
||||
for diss in disallow_strings:
|
||||
if diss in content:
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
def disallow_reply(content: str) -> bool:
|
||||
"""Are replies not allowed for the given post?
|
||||
"""
|
||||
disallow_strings = (
|
||||
':reply_no:',
|
||||
':noreply:',
|
||||
':noreplies:',
|
||||
':no_reply:',
|
||||
':no_replies:',
|
||||
':replies_no:',
|
||||
'dont_at_me'
|
||||
)
|
||||
for diss in disallow_strings:
|
||||
if diss in content:
|
||||
return True
|
||||
return False
|
||||
|
|
|
@ -25,6 +25,8 @@ from posts import post_is_muted
|
|||
from posts import get_person_box
|
||||
from posts import download_announce
|
||||
from posts import populate_replies_json
|
||||
from utils import disallow_announce
|
||||
from utils import disallow_reply
|
||||
from utils import convert_published_to_local_timezone
|
||||
from utils import remove_hash_from_post_id
|
||||
from utils import remove_html
|
||||
|
@ -2020,25 +2022,11 @@ def individual_post_as_html(signing_priv_key_pem: str,
|
|||
if content_str:
|
||||
# does an emoji indicate a no boost preference?
|
||||
# if so then don't show the repeat/announce icon
|
||||
if ':boost_no:' in content_str or \
|
||||
':noboost:' in content_str or \
|
||||
':noboosts:' in content_str or \
|
||||
':no_boost:' in content_str or \
|
||||
':no_boosts:' in content_str or \
|
||||
':boosts_no:' in content_str or \
|
||||
'dont_repeat' in content_str or \
|
||||
'dont_announce' in content_str or \
|
||||
'dont_boost' in content_str:
|
||||
if disallow_announce(content_str):
|
||||
announce_str = ''
|
||||
# does an emoji indicate a no replies preference?
|
||||
# if so then don't show the reply icon
|
||||
if ':reply_no:' in content_str or \
|
||||
':noreply:' in content_str or \
|
||||
':noreplies:' in content_str or \
|
||||
':no_reply:' in content_str or \
|
||||
':no_replies:' in content_str or \
|
||||
':replies_no:' in content_str or \
|
||||
'dont_at_me' in content_str:
|
||||
if disallow_reply(content_str):
|
||||
reply_str = ''
|
||||
|
||||
new_footer_str = \
|
||||
|
|
Loading…
Reference in New Issue