Move function

main
Bob Mottram 2025-05-31 15:21:47 +01:00
parent 8bc9d2b359
commit 897c633b37
17 changed files with 49 additions and 48 deletions

View File

@ -89,6 +89,7 @@ from httpcodes import http_304
from httpcodes import http_400 from httpcodes import http_400
from httpcodes import http_503 from httpcodes import http_503
from httpcodes import write2 from httpcodes import write2
from flags import is_moderator
from flags import is_corporate from flags import is_corporate
from flags import is_image_file from flags import is_image_file
from flags import is_artist from flags import is_artist
@ -125,7 +126,6 @@ from shares import authorize_shared_items
from shares import shares_catalog_endpoint from shares import shares_catalog_endpoint
from shares import shares_catalog_account_endpoint from shares import shares_catalog_account_endpoint
from shares import shares_catalog_csv_endpoint from shares import shares_catalog_csv_endpoint
from posts import is_moderator
from posts import get_pinned_post_as_json from posts import get_pinned_post_as_json
from posts import outbox_message_create_wrap from posts import outbox_message_create_wrap
from daemon_get_masto_api import masto_api from daemon_get_masto_api import masto_api

View File

@ -15,7 +15,7 @@ from httpheaders import redirect_headers
from httpheaders import set_headers from httpheaders import set_headers
from newswire import get_rss_from_dict from newswire import get_rss_from_dict
from fitnessFunctions import fitness_performance from fitnessFunctions import fitness_performance
from posts import is_moderator from flags import is_moderator
from utils import data_dir from utils import data_dir
from utils import local_actor_url from utils import local_actor_url
from utils import save_json from utils import save_json

View File

@ -9,7 +9,7 @@ __module_group__ = "Daemon Timeline"
import json import json
from securemode import secure_mode from securemode import secure_mode
from posts import is_moderator from flags import is_moderator
from flags import is_artist from flags import is_artist
from flags import is_editor from flags import is_editor
from utils import convert_domains from utils import convert_domains

View File

@ -11,6 +11,7 @@ import errno
import urllib.parse import urllib.parse
from socket import error as SocketError from socket import error as SocketError
from flags import has_group_type from flags import has_group_type
from flags import is_moderator
from utils import get_nickname_from_actor 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
@ -23,7 +24,6 @@ from daemon_utils import post_to_outbox_thread
from httpcodes import write2 from httpcodes import write2
from httpheaders import redirect_headers from httpheaders import redirect_headers
from httpheaders import login_headers from httpheaders import login_headers
from posts import is_moderator
from webapp_moderation import html_account_info from webapp_moderation import html_account_info
from session import establish_session from session import establish_session
from blocking import remove_block from blocking import remove_block

View File

@ -18,7 +18,7 @@ from utils import get_full_domain
from utils import get_domain_from_actor from utils import get_domain_from_actor
from utils import get_nickname_from_actor from utils import get_nickname_from_actor
from utils import get_instance_url from utils import get_instance_url
from posts import is_moderator from flags import is_moderator
from httpcodes import write2 from httpcodes import write2
from httpheaders import redirect_headers from httpheaders import redirect_headers
from httpheaders import login_headers from httpheaders import login_headers

View File

@ -11,6 +11,7 @@ import os
import errno import errno
from socket import error as SocketError from socket import error as SocketError
from flags import is_editor from flags import is_editor
from flags import is_moderator
from cache import clear_from_post_caches from cache import clear_from_post_caches
from utils import data_dir from utils import data_dir
from utils import remove_id_ending from utils import remove_id_ending
@ -23,7 +24,6 @@ from utils import get_instance_url
from utils import get_nickname_from_actor from utils import get_nickname_from_actor
from timeFunctions import date_from_string_format from timeFunctions import date_from_string_format
from httpheaders import redirect_headers from httpheaders import redirect_headers
from posts import is_moderator
from content import extract_text_fields_in_post from content import extract_text_fields_in_post
from content import load_dogwhistles from content import load_dogwhistles

View File

@ -46,7 +46,7 @@ from blocking import blocked_quote_toots_add
from blocking import blocked_quote_toots_remove from blocking import blocked_quote_toots_remove
from notifyOnPost import add_notify_on_post from notifyOnPost import add_notify_on_post
from notifyOnPost import remove_notify_on_post from notifyOnPost import remove_notify_on_post
from posts import is_moderator from flags import is_moderator
def _person_options_page_number(options_confirm_params: str) -> int: def _person_options_page_number(options_confirm_params: str) -> int:

View File

@ -20,6 +20,7 @@ from httpheaders import clear_login_details
from flags import is_artist from flags import is_artist
from flags import is_memorial_account from flags import is_memorial_account
from flags import is_premium_account from flags import is_premium_account
from flags import is_moderator
from timeFunctions import get_account_timezone from timeFunctions import get_account_timezone
from timeFunctions import set_account_timezone from timeFunctions import set_account_timezone
from utils import data_dir from utils import data_dir
@ -109,7 +110,6 @@ from webapp_utils import set_blog_address
from session import site_is_verified from session import site_is_verified
from languages import set_actor_languages from languages import set_actor_languages
from languages import get_actor_languages from languages import get_actor_languages
from posts import is_moderator
from posts import set_post_expiry_keep_dms from posts import set_post_expiry_keep_dms
from posts import get_post_expiry_keep_dms from posts import get_post_expiry_keep_dms
from posts import set_post_expiry_days from posts import set_post_expiry_days

View File

@ -21,7 +21,7 @@ from utils import get_config_param
from utils import get_nickname_from_actor from utils import get_nickname_from_actor
from reading import remove_reading_event from reading import remove_reading_event
from httpheaders import redirect_headers from httpheaders import redirect_headers
from posts import is_moderator from flags import is_moderator
from shares import remove_shared_item2 from shares import remove_shared_item2
from shares import add_shares_to_actor from shares import add_shares_to_actor
from cache import store_person_in_cache from cache import store_person_in_cache

View File

@ -719,3 +719,36 @@ def local_only_is_local(message_json: {}, domain_full: str) -> bool:
str(message_json)) str(message_json))
return False return False
return True return True
def is_moderator(base_dir: str, nickname: str) -> bool:
"""Returns true if the given nickname is a moderator
"""
moderators_file = data_dir(base_dir) + '/moderators.txt'
if not os.path.isfile(moderators_file):
admin_name = get_config_param(base_dir, 'admin')
if not admin_name:
return False
if admin_name == nickname:
return True
return False
lines: list[str] = []
try:
with open(moderators_file, 'r', encoding='utf-8') as fp_mod:
lines = fp_mod.readlines()
except OSError:
print('EX: is_moderator unable to read ' + moderators_file)
if not lines:
admin_name = get_config_param(base_dir, 'admin')
if not admin_name:
return False
if admin_name == nickname:
return True
for moderator in lines:
moderator = moderator.strip('\n').strip('\r')
if moderator == nickname:
return True
return False

View File

@ -32,6 +32,7 @@ from webfinger import webfinger_handle
from httpsig import create_signed_header from httpsig import create_signed_header
from siteactive import site_is_active from siteactive import site_is_active
from languages import understood_post_language from languages import understood_post_language
from flags import is_moderator
from flags import is_evil from flags import is_evil
from flags import is_public_post from flags import is_public_post
from flags import invalid_ciphertext from flags import invalid_ciphertext
@ -163,39 +164,6 @@ def convert_post_content_to_html(message_json: {}) -> None:
markdown_to_html(content_str) markdown_to_html(content_str)
def is_moderator(base_dir: str, nickname: str) -> bool:
"""Returns true if the given nickname is a moderator
"""
moderators_file = data_dir(base_dir) + '/moderators.txt'
if not os.path.isfile(moderators_file):
admin_name = get_config_param(base_dir, 'admin')
if not admin_name:
return False
if admin_name == nickname:
return True
return False
lines: list[str] = []
try:
with open(moderators_file, 'r', encoding='utf-8') as fp_mod:
lines = fp_mod.readlines()
except OSError:
print('EX: is_moderator unable to read ' + moderators_file)
if not lines:
admin_name = get_config_param(base_dir, 'admin')
if not admin_name:
return False
if admin_name == nickname:
return True
for moderator in lines:
moderator = moderator.strip('\n').strip('\r')
if moderator == nickname:
return True
return False
def no_of_followers_on_domain(base_dir: str, handle: str, def no_of_followers_on_domain(base_dir: str, handle: str,
domain: str, domain: str,
follow_file: str = 'followers.txt') -> int: follow_file: str = 'followers.txt') -> int:

View File

@ -11,6 +11,7 @@ import os
from content import remove_long_words from content import remove_long_words
from content import limit_repeated_words from content import limit_repeated_words
from flags import is_editor from flags import is_editor
from flags import is_moderator
from utils import replace_strings from utils import replace_strings
from utils import data_dir from utils import data_dir
from utils import get_fav_filename_from_url from utils import get_fav_filename_from_url
@ -25,7 +26,6 @@ from utils import remove_domain_port
from utils import acct_dir from utils import acct_dir
from formats import get_image_extensions from formats import get_image_extensions
from timeFunctions import date_from_string_format from timeFunctions import date_from_string_format
from posts import is_moderator
from newswire import get_newswire_favicon_url from newswire import get_newswire_favicon_url
from webapp_utils import get_right_image_file from webapp_utils import get_right_image_file
from webapp_utils import html_header_with_external_style from webapp_utils import html_header_with_external_style

View File

@ -10,6 +10,7 @@ __module_group__ = "Moderation"
import os import os
from flags import is_editor from flags import is_editor
from flags import is_artist from flags import is_artist
from flags import is_moderator
from utils import get_person_icon from utils import get_person_icon
from utils import data_dir from utils import data_dir
from utils import remove_html from utils import remove_html
@ -23,7 +24,6 @@ from utils import local_actor_url
from utils import remove_eol from utils import remove_eol
from posts import download_follow_collection from posts import download_follow_collection
from posts import get_public_post_info from posts import get_public_post_info
from posts import is_moderator
from webapp_timeline import html_timeline from webapp_timeline import html_timeline
# from webapp_utils import get_person_avatar_url # from webapp_utils import get_person_avatar_url
from webapp_utils import get_banner_file from webapp_utils import get_banner_file

View File

@ -11,7 +11,7 @@ import os
from shutil import copyfile from shutil import copyfile
from petnames import get_pet_name from petnames import get_pet_name
from person import is_person_snoozed from person import is_person_snoozed
from posts import is_moderator from flags import is_moderator
from flags import is_featured_writer from flags import is_featured_writer
from flags import is_dormant from flags import is_dormant
from quote import quote_toots_allowed from quote import quote_toots_allowed

View File

@ -16,6 +16,7 @@ from flags import is_system_account
from flags import is_group_account from flags import is_group_account
from flags import is_valid_date from flags import is_valid_date
from flags import is_premium_account from flags import is_premium_account
from flags import is_moderator
from status import actor_status_expired from status import actor_status_expired
from status import get_actor_status from status import get_actor_status
from textmode import text_mode_removals from textmode import text_mode_removals
@ -63,7 +64,6 @@ from person import get_person_notes
from posts import get_post_expiry_keep_dms from posts import get_post_expiry_keep_dms
from posts import get_post_expiry_days from posts import get_post_expiry_days
from posts import get_person_box from posts import get_person_box
from posts import is_moderator
from posts import parse_user_feed from posts import parse_user_feed
from posts import is_create_inside_announce from posts import is_create_inside_announce
from posts import get_max_profile_posts from posts import get_max_profile_posts

View File

@ -13,6 +13,7 @@ from shutil import copyfile
from flags import is_editor from flags import is_editor
from flags import is_artist from flags import is_artist
from flags import is_float from flags import is_float
from flags import is_moderator
from utils import data_dir from utils import data_dir
from utils import dangerous_markup from utils import dangerous_markup
from utils import get_config_param from utils import get_config_param
@ -40,7 +41,6 @@ from webapp_post import individual_post_as_html
from webapp_column_left import get_left_column_content from webapp_column_left import get_left_column_content
from webapp_column_right import get_right_column_content from webapp_column_right import get_right_column_content
from webapp_headerbuttons import header_buttons_timeline from webapp_headerbuttons import header_buttons_timeline
from posts import is_moderator
from announce import mark_announce_as_seen from announce import mark_announce_as_seen
from announce import announce_seen from announce import announce_seen
from announce import is_announce from announce import is_announce

View File

@ -13,6 +13,7 @@ from collections import OrderedDict
from session import get_json from session import get_json
from session import get_json_valid from session import get_json_valid
from flags import is_float from flags import is_float
from flags import is_moderator
from formats import media_file_mime_type from formats import media_file_mime_type
from utils import replace_strings from utils import replace_strings
from utils import get_image_file from utils import get_image_file
@ -52,7 +53,6 @@ from content import add_html_tags
from content import replace_emoji_from_tags from content import replace_emoji_from_tags
from person import get_person_avatar_url from person import get_person_avatar_url
from person import get_person_notes from person import get_person_notes
from posts import is_moderator
from blocking import is_blocked from blocking import is_blocked
from blocking import allowed_announce from blocking import allowed_announce
from shares import vf_proposal_from_share from shares import vf_proposal_from_share