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_503
from httpcodes import write2
from flags import is_moderator
from flags import is_corporate
from flags import is_image_file
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_account_endpoint
from shares import shares_catalog_csv_endpoint
from posts import is_moderator
from posts import get_pinned_post_as_json
from posts import outbox_message_create_wrap
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 newswire import get_rss_from_dict
from fitnessFunctions import fitness_performance
from posts import is_moderator
from flags import is_moderator
from utils import data_dir
from utils import local_actor_url
from utils import save_json

View File

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

View File

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

View File

@ -11,6 +11,7 @@ import os
import errno
from socket import error as SocketError
from flags import is_editor
from flags import is_moderator
from cache import clear_from_post_caches
from utils import data_dir
from utils import remove_id_ending
@ -23,7 +24,6 @@ from utils import get_instance_url
from utils import get_nickname_from_actor
from timeFunctions import date_from_string_format
from httpheaders import redirect_headers
from posts import is_moderator
from content import extract_text_fields_in_post
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 notifyOnPost import add_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:

View File

@ -20,6 +20,7 @@ from httpheaders import clear_login_details
from flags import is_artist
from flags import is_memorial_account
from flags import is_premium_account
from flags import is_moderator
from timeFunctions import get_account_timezone
from timeFunctions import set_account_timezone
from utils import data_dir
@ -109,7 +110,6 @@ from webapp_utils import set_blog_address
from session import site_is_verified
from languages import set_actor_languages
from languages import get_actor_languages
from posts import is_moderator
from posts import set_post_expiry_keep_dms
from posts import get_post_expiry_keep_dms
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 reading import remove_reading_event
from httpheaders import redirect_headers
from posts import is_moderator
from flags import is_moderator
from shares import remove_shared_item2
from shares import add_shares_to_actor
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))
return False
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 siteactive import site_is_active
from languages import understood_post_language
from flags import is_moderator
from flags import is_evil
from flags import is_public_post
from flags import invalid_ciphertext
@ -163,39 +164,6 @@ def convert_post_content_to_html(message_json: {}) -> None:
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,
domain: str,
follow_file: str = 'followers.txt') -> int:

View File

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

View File

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

View File

@ -11,7 +11,7 @@ import os
from shutil import copyfile
from petnames import get_pet_name
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_dormant
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_valid_date
from flags import is_premium_account
from flags import is_moderator
from status import actor_status_expired
from status import get_actor_status
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_days
from posts import get_person_box
from posts import is_moderator
from posts import parse_user_feed
from posts import is_create_inside_announce
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_artist
from flags import is_float
from flags import is_moderator
from utils import data_dir
from utils import dangerous_markup
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_right import get_right_column_content
from webapp_headerbuttons import header_buttons_timeline
from posts import is_moderator
from announce import mark_announce_as_seen
from announce import announce_seen
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_valid
from flags import is_float
from flags import is_moderator
from formats import media_file_mime_type
from utils import replace_strings
from utils import get_image_file
@ -52,7 +53,6 @@ from content import add_html_tags
from content import replace_emoji_from_tags
from person import get_person_avatar_url
from person import get_person_notes
from posts import is_moderator
from blocking import is_blocked
from blocking import allowed_announce
from shares import vf_proposal_from_share