Replace file rename with function

main
bashrc 2026-05-02 10:43:35 +01:00
parent ab2ced1e14
commit 30a3c5f111
47 changed files with 566 additions and 583 deletions

View File

@ -41,7 +41,7 @@ from session import post_json
from webfinger import webfinger_handle from webfinger import webfinger_handle
from auth import create_basic_auth_header from auth import create_basic_auth_header
from data import save_string from data import save_string
from data import remove_file from data import erase_file
def no_of_announces(post_json_object: {}) -> int: def no_of_announces(post_json_object: {}) -> int:
@ -597,7 +597,7 @@ def undo_announce_collection_entry(recent_posts_cache: {},
'EX: undo_announce_collection_entry ' + \ 'EX: undo_announce_collection_entry ' + \
'unable to delete cached post ' + \ 'unable to delete cached post ' + \
str(cached_post_filename) str(cached_post_filename)
remove_file(cached_post_filename, ex_text) erase_file(cached_post_filename, ex_text)
remove_post_from_cache(post_json_object, recent_posts_cache) remove_post_from_cache(post_json_object, recent_posts_cache)
if not post_json_object.get('type'): if not post_json_object.get('type'):
@ -669,7 +669,7 @@ def update_announce_collection(recent_posts_cache: {},
'EX: update_announce_collection ' + \ 'EX: update_announce_collection ' + \
'unable to delete cached post ' + \ 'unable to delete cached post ' + \
str(cached_post_filename) str(cached_post_filename)
remove_file(cached_post_filename, ex_text) erase_file(cached_post_filename, ex_text)
remove_post_from_cache(post_json_object, recent_posts_cache) remove_post_from_cache(post_json_object, recent_posts_cache)
if not has_object_dict(post_json_object): if not has_object_dict(post_json_object):

13
auth.py
View File

@ -23,6 +23,7 @@ from timeFunctions import date_utcnow
from data import append_string from data import append_string
from data import save_string from data import save_string
from data import load_list from data import load_list
from data import move_file
def _hash_password(password: str) -> str: def _hash_password(password: str) -> str:
@ -219,10 +220,8 @@ def store_basic_credentials(base_dir: str,
passwords_list.clear() passwords_list.clear()
try: if not move_file(password_file + '.new', password_file,
os.rename(password_file + '.new', password_file) 'EX: unable to save password 2'):
except OSError:
print('EX: unable to save password 2')
return False return False
else: else:
# append to password file # append to password file
@ -273,10 +272,8 @@ def remove_password(base_dir: str, nickname: str) -> None:
passwords_list.clear() passwords_list.clear()
passwords_list_new: str = '' passwords_list_new: str = ''
try: if not move_file(password_file + '.new', password_file,
os.rename(password_file + '.new', password_file) 'EX: unable to remove password from file 2'):
except OSError:
print('EX: unable to remove password from file 2')
return return

View File

@ -58,7 +58,8 @@ from data import load_list
from data import save_string from data import save_string
from data import save_flag_file from data import save_flag_file
from data import append_string from data import append_string
from data import remove_file from data import erase_file
from data import move_file
def get_global_block_reason(search_text: str, def get_global_block_reason(search_text: str,
@ -217,13 +218,13 @@ def add_account_blocks(base_dir: str,
if not blocking_file_text: if not blocking_file_text:
if os.path.isfile(blocking_filename): if os.path.isfile(blocking_filename):
remove_file(blocking_filename, erase_file(blocking_filename,
'EX: _profile_edit unable to delete blocking ' + 'EX: _profile_edit unable to delete blocking ' +
blocking_filename) blocking_filename)
if os.path.isfile(blocking_reasons_filename): if os.path.isfile(blocking_reasons_filename):
remove_file(blocking_reasons_filename, erase_file(blocking_reasons_filename,
'EX: _profile_edit unable to delete blocking reasons' + 'EX: _profile_edit unable to delete blocking reasons' +
blocking_reasons_filename) blocking_reasons_filename)
return True return True
save_string(blocking_file_text, blocking_filename, save_string(blocking_file_text, blocking_filename,
@ -500,12 +501,11 @@ def remove_global_block(base_dir: str,
unblocking_filename + ' 1 [ex]') unblocking_filename + ' 1 [ex]')
if os.path.isfile(unblocking_filename + '.new'): if os.path.isfile(unblocking_filename + '.new'):
try: ex_text = \
os.rename(unblocking_filename + '.new', 'EX: remove_global_block unable to rename ' + \
unblocking_filename) unblocking_filename
except OSError: if not move_file(unblocking_filename + '.new',
print('EX: remove_global_block unable to rename ' + unblocking_filename, ex_text):
unblocking_filename)
return False return False
return True return True
else: else:
@ -529,12 +529,11 @@ def remove_global_block(base_dir: str,
unblocking_filename + ' 2 [ex]') unblocking_filename + ' 2 [ex]')
if os.path.isfile(unblocking_filename + '.new'): if os.path.isfile(unblocking_filename + '.new'):
try: ex_text = \
os.rename(unblocking_filename + '.new', 'EX: remove_global_block unable to rename 2 ' + \
unblocking_filename) unblocking_filename
except OSError: if not move_file(unblocking_filename + '.new',
print('EX: remove_global_block unable to rename 2 ' + unblocking_filename, ex_text):
unblocking_filename)
return False return False
return True return True
return False return False
@ -567,12 +566,10 @@ def remove_block(base_dir: str, nickname: str, domain: str,
unblocking_filename + ' 2 [ex]') unblocking_filename + ' 2 [ex]')
if os.path.isfile(unblocking_filename + '.new'): if os.path.isfile(unblocking_filename + '.new'):
try: if not move_file(unblocking_filename + '.new',
os.rename(unblocking_filename + '.new', unblocking_filename,
unblocking_filename) 'EX: remove_block unable to rename 3 ' +
except OSError: unblocking_filename):
print('EX: remove_block unable to rename 3 ' +
unblocking_filename)
return False return False
return True return True
return False return False
@ -1241,9 +1238,9 @@ def mute_post(base_dir: str, nickname: str, domain: str, port: int,
get_cached_post_filename(base_dir, nickname, domain, post_json_object) get_cached_post_filename(base_dir, nickname, domain, post_json_object)
if cached_post_filename: if cached_post_filename:
if os.path.isfile(cached_post_filename): if os.path.isfile(cached_post_filename):
if remove_file(cached_post_filename, if erase_file(cached_post_filename,
'EX: MUTE cached post not removed ' + 'EX: MUTE cached post not removed ' +
cached_post_filename): cached_post_filename):
print('MUTE: cached post removed ' + cached_post_filename) print('MUTE: cached post removed ' + cached_post_filename)
else: else:
print('MUTE: cached post not found ' + cached_post_filename) print('MUTE: cached post not found ' + cached_post_filename)
@ -1284,7 +1281,7 @@ def mute_post(base_dir: str, nickname: str, domain: str, port: int,
'EX: ' + \ 'EX: ' + \
'MUTE cached referenced post not removed ' + \ 'MUTE cached referenced post not removed ' + \
cached_post_filename cached_post_filename
if remove_file(cached_post_filename, ex_text): if erase_file(cached_post_filename, ex_text):
print('MUTE: cached referenced post removed ' + print('MUTE: cached referenced post removed ' +
cached_post_filename) cached_post_filename)
@ -1317,7 +1314,7 @@ def unmute_post(base_dir: str, nickname: str, domain: str, port: int,
ex_text = \ ex_text = \
'EX: unmute_post mute filename not deleted ' + \ 'EX: unmute_post mute filename not deleted ' + \
str(mute_filename) str(mute_filename)
remove_file(mute_filename, ex_text) erase_file(mute_filename, ex_text)
print('UNMUTE: ' + mute_filename + ' file removed') print('UNMUTE: ' + mute_filename + ' file removed')
post_json_obj = post_json_object post_json_obj = post_json_object
@ -1376,7 +1373,7 @@ def unmute_post(base_dir: str, nickname: str, domain: str, port: int,
ex_text = \ ex_text = \
'EX: unmute_post cached post not deleted ' + \ 'EX: unmute_post cached post not deleted ' + \
str(cached_post_filename) str(cached_post_filename)
remove_file(cached_post_filename, ex_text) erase_file(cached_post_filename, ex_text)
# if the post is in the recent posts cache then mark it as unmuted # if the post is in the recent posts cache then mark it as unmuted
if recent_posts_cache.get('index'): if recent_posts_cache.get('index'):
@ -1406,7 +1403,7 @@ def unmute_post(base_dir: str, nickname: str, domain: str, port: int,
'EX: ' + \ 'EX: ' + \
'unmute_post cached ref post not removed ' + \ 'unmute_post cached ref post not removed ' + \
str(cached_post_filename) str(cached_post_filename)
if remove_file(cached_post_filename, ex_text): if erase_file(cached_post_filename, ex_text):
print('MUTE: cached referenced post removed ' + print('MUTE: cached referenced post removed ' +
cached_post_filename) cached_post_filename)
@ -1572,7 +1569,7 @@ def set_broch_mode(base_dir: str, domain_full: str, enabled: bool) -> None:
ex_text = \ ex_text = \
'EX: set_broch_mode allow file not deleted ' + \ 'EX: set_broch_mode allow file not deleted ' + \
str(allow_filename) str(allow_filename)
remove_file(allow_filename, ex_text) erase_file(allow_filename, ex_text)
print('Broch mode turned off') print('Broch mode turned off')
else: else:
if os.path.isfile(allow_filename): if os.path.isfile(allow_filename):
@ -1640,7 +1637,7 @@ def broch_modeLapses(base_dir: str, lapse_days: int) -> bool:
ex_text = \ ex_text = \
'EX: broch_modeLapses allow file not deleted ' + \ 'EX: broch_modeLapses allow file not deleted ' + \
str(allow_filename) str(allow_filename)
if remove_file(allow_filename, ex_text): if erase_file(allow_filename, ex_text):
removed = True removed = True
if removed: if removed:
set_config_param(base_dir, "brochMode", False) set_config_param(base_dir, "brochMode", False)
@ -2164,9 +2161,9 @@ def _update_federated_blocks(session, base_dir: str,
if not new_block_api_str: if not new_block_api_str:
print('DEBUG: federated blocklist not loaded: ' + block_api_filename) print('DEBUG: federated blocklist not loaded: ' + block_api_filename)
if os.path.isfile(block_api_filename): if os.path.isfile(block_api_filename):
remove_file(block_api_filename, erase_file(block_api_filename,
'EX: unable to remove block api: ' + 'EX: unable to remove block api: ' +
block_api_filename) block_api_filename)
else: else:
print('DEBUG: federated blocklist loaded: ' + str(block_federated)) print('DEBUG: federated blocklist loaded: ' + str(block_federated))
save_string(new_block_api_str, block_api_filename, save_string(new_block_api_str, block_api_filename,
@ -2197,13 +2194,13 @@ def save_block_federated_endpoints(base_dir: str,
result.append(endpoint) result.append(endpoint)
if not block_federated_endpoints_str: if not block_federated_endpoints_str:
if os.path.isfile(block_api_endpoints_filename): if os.path.isfile(block_api_endpoints_filename):
remove_file(block_api_endpoints_filename, erase_file(block_api_endpoints_filename,
'EX: unable to delete block_api_endpoints.txt') 'EX: unable to delete block_api_endpoints.txt')
block_api_filename = \ block_api_filename = \
data_dir(base_dir) + '/block_api.txt' data_dir(base_dir) + '/block_api.txt'
if os.path.isfile(block_api_filename): if os.path.isfile(block_api_filename):
remove_file(block_api_filename, erase_file(block_api_filename,
'EX: unable to delete block_api.txt') 'EX: unable to delete block_api.txt')
else: else:
save_string(block_federated_endpoints_str, save_string(block_federated_endpoints_str,
block_api_endpoints_filename, block_api_endpoints_filename,

View File

@ -38,7 +38,7 @@ from session import post_json
from data import load_string from data import load_string
from data import save_string from data import save_string
from data import prepend_string from data import prepend_string
from data import remove_file from data import erase_file
def undo_bookmarks_collection_entry(recent_posts_cache: {}, def undo_bookmarks_collection_entry(recent_posts_cache: {},
@ -65,7 +65,7 @@ def undo_bookmarks_collection_entry(recent_posts_cache: {},
'EX: undo_bookmarks_collection_entry ' + \ 'EX: undo_bookmarks_collection_entry ' + \
'unable to delete cached post file ' + \ 'unable to delete cached post file ' + \
str(cached_post_filename) str(cached_post_filename)
remove_file(cached_post_filename, ex_text) erase_file(cached_post_filename, ex_text)
remove_post_from_cache(post_json_object, recent_posts_cache) remove_post_from_cache(post_json_object, recent_posts_cache)
# remove from the index # remove from the index
@ -185,7 +185,7 @@ def update_bookmarks_collection(recent_posts_cache: {},
'EX: update_bookmarks_collection ' + \ 'EX: update_bookmarks_collection ' + \
'unable to delete cached post ' + \ 'unable to delete cached post ' + \
str(cached_post_filename) str(cached_post_filename)
remove_file(cached_post_filename, ex_text) erase_file(cached_post_filename, ex_text)
remove_post_from_cache(post_json_object, recent_posts_cache) remove_post_from_cache(post_json_object, recent_posts_cache)
if not post_json_object.get('object'): if not post_json_object.get('object'):

View File

@ -33,7 +33,7 @@ from timeFunctions import date_utcnow
from content import remove_script from content import remove_script
from data import save_binary from data import save_binary
from data import load_binary from data import load_binary
from data import remove_file from data import erase_file
def remove_person_from_cache(base_dir: str, person_url: str, def remove_person_from_cache(base_dir: str, person_url: str,
@ -45,7 +45,7 @@ def remove_person_from_cache(base_dir: str, person_url: str,
if os.path.isfile(cache_filename): if os.path.isfile(cache_filename):
ex_text = \ ex_text = \
'EX: unable to delete cached actor ' + str(cache_filename) 'EX: unable to delete cached actor ' + str(cache_filename)
remove_file(cache_filename, ex_text) erase_file(cache_filename, ex_text)
if person_cache.get(person_url): if person_cache.get(person_url):
del person_cache[person_url] del person_cache[person_url]
@ -408,7 +408,7 @@ def remove_avatar_from_cache(base_dir: str, actor_str: str) -> None:
'EX: remove_avatar_from_cache ' + \ 'EX: remove_avatar_from_cache ' + \
'unable to delete cached avatar ' + \ 'unable to delete cached avatar ' + \
str(avatar_filename) str(avatar_filename)
remove_file(avatar_filename, ex_text) erase_file(avatar_filename, ex_text)
def clear_from_post_caches(base_dir: str, recent_posts_cache: {}, def clear_from_post_caches(base_dir: str, recent_posts_cache: {},
@ -430,7 +430,7 @@ def clear_from_post_caches(base_dir: str, recent_posts_cache: {},
ex_text = \ ex_text = \
'EX: clear_from_post_caches file not removed ' + \ 'EX: clear_from_post_caches file not removed ' + \
str(post_filename) str(post_filename)
remove_file(post_filename, ex_text) erase_file(post_filename, ex_text)
# if the post is in the recent posts cache then remove it # if the post is in the recent posts cache then remove it
if recent_posts_cache.get('index'): if recent_posts_cache.get('index'):
if post_id in recent_posts_cache['index']: if post_id in recent_posts_cache['index']:

View File

@ -16,7 +16,7 @@ from utils import replace_strings
from utils import get_invalid_characters from utils import get_invalid_characters
from data import load_string from data import load_string
from data import save_string from data import save_string
from data import remove_file from data import erase_file
MAX_TAG_LENGTH = 42 MAX_TAG_LENGTH = 42
@ -175,10 +175,10 @@ def update_hashtag_categories(base_dir: str) -> None:
hashtag_categories = get_hashtag_categories(base_dir, False, None) hashtag_categories = get_hashtag_categories(base_dir, False, None)
if not hashtag_categories: if not hashtag_categories:
if os.path.isfile(category_list_filename): if os.path.isfile(category_list_filename):
remove_file(category_list_filename, erase_file(category_list_filename,
'EX: update_hashtag_categories ' + 'EX: update_hashtag_categories ' +
'unable to delete cached category list ' + 'unable to delete cached category list ' +
category_list_filename) category_list_filename)
return return
category_list: list[str] = [] category_list: list[str] = []

View File

@ -55,7 +55,7 @@ from data import load_string
from data import save_string from data import save_string
from data import save_binary from data import save_binary
from data import append_string from data import append_string
from data import remove_file from data import erase_file
MUSIC_SITES = ('soundcloud.com', 'bandcamp.com', 'resonate.coop') MUSIC_SITES = ('soundcloud.com', 'bandcamp.com', 'resonate.coop')
@ -1690,12 +1690,12 @@ def save_media_in_form_post(media_bytes, debug: bool,
'EX: save_media_in_form_post ' + \ 'EX: save_media_in_form_post ' + \
'unable to delete other ' + \ 'unable to delete other ' + \
str(possible_other_format) str(possible_other_format)
remove_file(possible_other_format, ex_text) erase_file(possible_other_format, ex_text)
if os.path.isfile(filename_base): if os.path.isfile(filename_base):
ex_text = \ ex_text = \
'EX: save_media_in_form_post ' + \ 'EX: save_media_in_form_post ' + \
'unable to delete ' + str(filename_base) 'unable to delete ' + str(filename_base)
remove_file(filename_base, ex_text) erase_file(filename_base, ex_text)
if debug: if debug:
print('DEBUG: No media found within POST') print('DEBUG: No media found within POST')
@ -1788,7 +1788,7 @@ def save_media_in_form_post(media_bytes, debug: bool,
'EX: save_media_in_form_post ' + \ 'EX: save_media_in_form_post ' + \
'unable to delete other 2 ' + \ 'unable to delete other 2 ' + \
str(possible_other_format) str(possible_other_format)
remove_file(possible_other_format, ex_text) erase_file(possible_other_format, ex_text)
# don't allow scripts within svg files # don't allow scripts within svg files
if detected_extension == 'svg': if detected_extension == 'svg':

View File

@ -24,7 +24,7 @@ from session import get_json_valid
from data import save_string from data import save_string
from data import save_flag_file from data import save_flag_file
from data import append_string from data import append_string
from data import remove_file from data import erase_file
def _get_conversation_filename(base_dir: str, nickname: str, domain: str, def _get_conversation_filename(base_dir: str, nickname: str, domain: str,
@ -113,9 +113,9 @@ def unmute_conversation(base_dir: str, nickname: str, domain: str,
return return
if not os.path.isfile(conversation_filename + '.muted'): if not os.path.isfile(conversation_filename + '.muted'):
return return
remove_file(conversation_filename + '.muted', erase_file(conversation_filename + '.muted',
'EX: unmute_conversation unable to delete ' + 'EX: unmute_conversation unable to delete ' +
conversation_filename + '.muted') conversation_filename + '.muted')
def _get_replies_to_post(post_json_object: {}, def _get_replies_to_post(post_json_object: {},

View File

@ -20,7 +20,7 @@ from content import extract_text_fields_in_post
from blocking import is_blocked_hashtag from blocking import is_blocked_hashtag
from filters import is_filtered from filters import is_filtered
from categories import set_hashtag_category from categories import set_hashtag_category
from data import remove_file from data import erase_file
def set_hashtag_category2(self, calling_domain: str, cookie: str, def set_hashtag_category2(self, calling_domain: str, cookie: str,
@ -132,9 +132,9 @@ def set_hashtag_category2(self, calling_domain: str, cookie: str,
else: else:
category_filename = base_dir + '/tags/' + hashtag + '.category' category_filename = base_dir + '/tags/' + hashtag + '.category'
if os.path.isfile(category_filename): if os.path.isfile(category_filename):
remove_file(category_filename, erase_file(category_filename,
'EX: _set_hashtag_category unable to delete ' + 'EX: _set_hashtag_category unable to delete ' +
category_filename) category_filename)
# redirect back to the default timeline # redirect back to the default timeline
redirect_headers(self, tag_screen_str, redirect_headers(self, tag_screen_str,

View File

@ -19,7 +19,7 @@ from utils import get_config_param
from httpheaders import redirect_headers from httpheaders import redirect_headers
from content import extract_text_fields_in_post from content import extract_text_fields_in_post
from data import save_string from data import save_string
from data import remove_file from data import erase_file
def _links_update_edited(fields: {}, links_filename: str) -> None: def _links_update_edited(fields: {}, links_filename: str) -> None:
@ -44,9 +44,9 @@ def _links_update_edited(fields: {}, links_filename: str) -> None:
links_filename) links_filename)
else: else:
if os.path.isfile(links_filename): if os.path.isfile(links_filename):
remove_file(links_filename, erase_file(links_filename,
'EX: _links_update unable to delete ' + 'EX: _links_update unable to delete ' +
links_filename) links_filename)
def _links_update_about(fields: {}, allow_local_network_access: bool, def _links_update_about(fields: {}, allow_local_network_access: bool,
@ -62,9 +62,9 @@ def _links_update_about(fields: {}, allow_local_network_access: bool,
about_filename) about_filename)
else: else:
if os.path.isfile(about_filename): if os.path.isfile(about_filename):
remove_file(about_filename, erase_file(about_filename,
'EX: _links_update unable to delete ' + 'EX: _links_update unable to delete ' +
about_filename) about_filename)
def _links_update_tos(fields: {}, allow_local_network_access: bool, def _links_update_tos(fields: {}, allow_local_network_access: bool,
@ -79,9 +79,9 @@ def _links_update_tos(fields: {}, allow_local_network_access: bool,
'EX: unable to write TOS ' + tos_filename) 'EX: unable to write TOS ' + tos_filename)
else: else:
if os.path.isfile(tos_filename): if os.path.isfile(tos_filename):
remove_file(tos_filename, erase_file(tos_filename,
'EX: _links_update unable to delete ' + 'EX: _links_update unable to delete ' +
tos_filename) tos_filename)
def _links_update_sepcification(fields: {}, def _links_update_sepcification(fields: {},
@ -95,9 +95,9 @@ def _links_update_sepcification(fields: {},
specification_filename) specification_filename)
else: else:
if os.path.isfile(specification_filename): if os.path.isfile(specification_filename):
remove_file(specification_filename, erase_file(specification_filename,
'EX: _links_update_specification unable to delete ' + 'EX: _links_update_specification unable to delete ' +
specification_filename) specification_filename)
def links_update(self, calling_domain: str, cookie: str, def links_update(self, calling_domain: str, cookie: str,

View File

@ -27,7 +27,7 @@ from httpheaders import redirect_headers
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
from data import save_string from data import save_string
from data import remove_file from data import erase_file
def newswire_update(self, calling_domain: str, cookie: str, def newswire_update(self, calling_domain: str, cookie: str,
@ -129,9 +129,9 @@ def newswire_update(self, calling_domain: str, cookie: str,
else: else:
# text area has been cleared and there is no new feed # text area has been cleared and there is no new feed
if os.path.isfile(newswire_filename): if os.path.isfile(newswire_filename):
remove_file(newswire_filename, erase_file(newswire_filename,
'EX: _newswire_update unable to delete ' + 'EX: _newswire_update unable to delete ' +
newswire_filename) newswire_filename)
# save filtered words list for the newswire # save filtered words list for the newswire
filter_newswire_filename = \ filter_newswire_filename = \
@ -143,9 +143,9 @@ def newswire_update(self, calling_domain: str, cookie: str,
filter_newswire_filename) filter_newswire_filename)
else: else:
if os.path.isfile(filter_newswire_filename): if os.path.isfile(filter_newswire_filename):
remove_file(filter_newswire_filename, erase_file(filter_newswire_filename,
'EX: _newswire_update unable to delete ' + 'EX: _newswire_update unable to delete ' +
filter_newswire_filename) filter_newswire_filename)
# save dogwhistle words list # save dogwhistle words list
dogwhistles_filename = data_dir(base_dir) + '/dogwhistles.txt' dogwhistles_filename = data_dir(base_dir) + '/dogwhistles.txt'
@ -172,9 +172,9 @@ def newswire_update(self, calling_domain: str, cookie: str,
hashtag_rules_filename) hashtag_rules_filename)
else: else:
if os.path.isfile(hashtag_rules_filename): if os.path.isfile(hashtag_rules_filename):
remove_file(hashtag_rules_filename, erase_file(hashtag_rules_filename,
'EX: _newswire_update unable to delete ' + 'EX: _newswire_update unable to delete ' +
hashtag_rules_filename) hashtag_rules_filename)
newswire_tusted_filename = data_dir(base_dir) + '/newswiretrusted.txt' newswire_tusted_filename = data_dir(base_dir) + '/newswiretrusted.txt'
if fields.get('trustedNewswire'): if fields.get('trustedNewswire'):
@ -186,9 +186,9 @@ def newswire_update(self, calling_domain: str, cookie: str,
newswire_tusted_filename) newswire_tusted_filename)
else: else:
if os.path.isfile(newswire_tusted_filename): if os.path.isfile(newswire_tusted_filename):
remove_file(newswire_tusted_filename, erase_file(newswire_tusted_filename,
'EX: _newswire_update unable to delete ' + 'EX: _newswire_update unable to delete ' +
newswire_tusted_filename) newswire_tusted_filename)
# redirect back to the default timeline # redirect back to the default timeline
redirect_headers(self, actor_str + '/' + default_timeline, redirect_headers(self, actor_str + '/' + default_timeline,
@ -223,9 +223,9 @@ def citations_update(self, calling_domain: str, cookie: str,
acct_dir(base_dir, nickname, domain) + '/.citations.txt' acct_dir(base_dir, nickname, domain) + '/.citations.txt'
# remove any existing citations file # remove any existing citations file
if os.path.isfile(citations_filename): if os.path.isfile(citations_filename):
remove_file(citations_filename, erase_file(citations_filename,
'EX: _citations_update unable to delete ' + 'EX: _citations_update unable to delete ' +
citations_filename) citations_filename)
if newswire and \ if newswire and \
' boundary=' in self.headers['Content-type']: ' boundary=' in self.headers['Content-type']:

View File

@ -50,7 +50,7 @@ from notifyOnPost import add_notify_on_post
from notifyOnPost import remove_notify_on_post from notifyOnPost import remove_notify_on_post
from flags import is_moderator from flags import is_moderator
from data import save_flag_file from data import save_flag_file
from data import remove_file from data import erase_file
def _person_options_page_number(options_confirm_params: str) -> int: def _person_options_page_number(options_confirm_params: str) -> int:
@ -604,9 +604,9 @@ def _person_options_post_to_news(self, options_confirm_params: str,
newswire_blocked_filename = account_dir + '/.nonewswire' newswire_blocked_filename = account_dir + '/.nonewswire'
if posts_to_news == 'on': if posts_to_news == 'on':
if os.path.isfile(newswire_blocked_filename): if os.path.isfile(newswire_blocked_filename):
remove_file(newswire_blocked_filename, erase_file(newswire_blocked_filename,
'EX: _person_options unable to delete ' + 'EX: _person_options unable to delete ' +
newswire_blocked_filename) newswire_blocked_filename)
refresh_newswire(base_dir) refresh_newswire(base_dir)
else: else:
if os.path.isdir(account_dir): if os.path.isdir(account_dir):
@ -656,9 +656,9 @@ def _person_options_post_to_features(self, options_confirm_params: str,
features_blocked_filename = account_dir + '/.nofeatures' features_blocked_filename = account_dir + '/.nofeatures'
if posts_to_features == 'on': if posts_to_features == 'on':
if os.path.isfile(features_blocked_filename): if os.path.isfile(features_blocked_filename):
remove_file(features_blocked_filename, erase_file(features_blocked_filename,
'EX: _person_options unable to delete ' + 'EX: _person_options unable to delete ' +
features_blocked_filename) features_blocked_filename)
refresh_newswire(base_dir) refresh_newswire(base_dir)
else: else:
if os.path.isdir(account_dir): if os.path.isdir(account_dir):
@ -708,9 +708,9 @@ def _person_options_mod_news(self, options_confirm_params: str,
newswire_mod_filename = account_dir + '/.newswiremoderated' newswire_mod_filename = account_dir + '/.newswiremoderated'
if mod_posts_to_news != 'on': if mod_posts_to_news != 'on':
if os.path.isfile(newswire_mod_filename): if os.path.isfile(newswire_mod_filename):
remove_file(newswire_mod_filename, erase_file(newswire_mod_filename,
'EX: _person_options unable to delete ' + 'EX: _person_options unable to delete ' +
newswire_mod_filename) newswire_mod_filename)
else: else:
if os.path.isdir(account_dir): if os.path.isdir(account_dir):
nw_filename = newswire_mod_filename nw_filename = newswire_mod_filename

View File

@ -150,7 +150,7 @@ from cache import store_person_in_cache
from daemon_utils import post_to_outbox from daemon_utils import post_to_outbox
from data import save_string from data import save_string
from data import save_flag_file from data import save_flag_file
from data import remove_file from data import erase_file
def _profile_post_deactivate_account(base_dir: str, nickname: str, domain: str, def _profile_post_deactivate_account(base_dir: str, nickname: str, domain: str,
@ -258,9 +258,9 @@ def _profile_post_git_projects(base_dir: str, nickname: str, domain: str,
'EX: unable to write git ' + git_projects_filename) 'EX: unable to write git ' + git_projects_filename)
else: else:
if os.path.isfile(git_projects_filename): if os.path.isfile(git_projects_filename):
remove_file(git_projects_filename, erase_file(git_projects_filename,
'EX: _profile_edit unable to delete ' + 'EX: _profile_edit unable to delete ' +
git_projects_filename) git_projects_filename)
def _profile_post_peertube_instances(base_dir: str, fields: {}, self, def _profile_post_peertube_instances(base_dir: str, fields: {}, self,
@ -284,9 +284,9 @@ def _profile_post_peertube_instances(base_dir: str, fields: {}, self,
peertube_instances.append(url) peertube_instances.append(url)
else: else:
if os.path.isfile(peertube_instances_file): if os.path.isfile(peertube_instances_file):
remove_file(peertube_instances_file, erase_file(peertube_instances_file,
'EX: _profile_edit unable to delete ' + 'EX: _profile_edit unable to delete ' +
peertube_instances_file) peertube_instances_file)
peertube_instances.clear() peertube_instances.clear()
@ -316,10 +316,10 @@ def _profile_post_robots_txt(base_dir: str, fields: {}, self) -> None:
if not new_robots_txt: if not new_robots_txt:
self.server.robots_txt = '' self.server.robots_txt = ''
if os.path.isfile(robots_txt_filename): if os.path.isfile(robots_txt_filename):
remove_file(robots_txt_filename, erase_file(robots_txt_filename,
'EX: _profile_post_robots_txt' + 'EX: _profile_post_robots_txt' +
' unable to delete ' + ' unable to delete ' +
robots_txt_filename) robots_txt_filename)
else: else:
save_string(new_robots_txt, robots_txt_filename, save_string(new_robots_txt, robots_txt_filename,
'EX: _profile_post_robots_txt unable to save ' + 'EX: _profile_post_robots_txt unable to save ' +
@ -357,8 +357,8 @@ def _profile_post_buy_domains(base_dir: str, fields: {}, self) -> None:
save_json(buy_sites, buy_sites_filename) save_json(buy_sites, buy_sites_filename)
else: else:
if os.path.isfile(buy_sites_filename): if os.path.isfile(buy_sites_filename):
remove_file(buy_sites_filename, erase_file(buy_sites_filename,
'EX: unable to delete ' + buy_sites_filename) 'EX: unable to delete ' + buy_sites_filename)
def _profile_post_crawlers_allowed(base_dir: str, fields: {}, self) -> None: def _profile_post_crawlers_allowed(base_dir: str, fields: {}, self) -> None:
@ -437,9 +437,9 @@ def _profile_post_allowed_instances(base_dir: str, nickname: str, domain: str,
allowed_instances_filename) allowed_instances_filename)
else: else:
if os.path.isfile(allowed_instances_filename): if os.path.isfile(allowed_instances_filename):
remove_file(allowed_instances_filename, erase_file(allowed_instances_filename,
'EX: _profile_edit unable to delete ' + 'EX: _profile_edit unable to delete ' +
allowed_instances_filename) allowed_instances_filename)
def _profile_post_dm_instances(base_dir: str, nickname: str, domain: str, def _profile_post_dm_instances(base_dir: str, nickname: str, domain: str,
@ -457,9 +457,9 @@ def _profile_post_dm_instances(base_dir: str, nickname: str, domain: str,
dm_allowed_instances_filename) dm_allowed_instances_filename)
else: else:
if os.path.isfile(dm_allowed_instances_filename): if os.path.isfile(dm_allowed_instances_filename):
remove_file(dm_allowed_instances_filename, erase_file(dm_allowed_instances_filename,
'EX: _profile_edit unable to delete ' + 'EX: _profile_edit unable to delete ' +
dm_allowed_instances_filename) dm_allowed_instances_filename)
def _profile_post_import_theme(base_dir: str, nickname: str, def _profile_post_import_theme(base_dir: str, nickname: str,
@ -471,9 +471,9 @@ def _profile_post_import_theme(base_dir: str, nickname: str,
os.mkdir(base_dir + '/imports') os.mkdir(base_dir + '/imports')
filename_base = base_dir + '/imports/newtheme.zip' filename_base = base_dir + '/imports/newtheme.zip'
if os.path.isfile(filename_base): if os.path.isfile(filename_base):
remove_file(filename_base, erase_file(filename_base,
'EX: _profile_edit unable to delete ' + 'EX: _profile_edit unable to delete ' +
filename_base) filename_base)
if nickname == admin_nickname or is_artist(base_dir, nickname): if nickname == admin_nickname or is_artist(base_dir, nickname):
if import_theme(base_dir, filename_base): if import_theme(base_dir, filename_base):
print(nickname + ' uploaded a theme') print(nickname + ' uploaded a theme')
@ -525,9 +525,9 @@ def _profile_post_auto_cw(base_dir: str, nickname: str, domain: str,
self.server.auto_cw_cache[nickname] = fields['autoCW'].split('\n') self.server.auto_cw_cache[nickname] = fields['autoCW'].split('\n')
else: else:
if os.path.isfile(auto_cw_filename): if os.path.isfile(auto_cw_filename):
remove_file(auto_cw_filename, erase_file(auto_cw_filename,
'EX: _profile_edit unable to delete ' + 'EX: _profile_edit unable to delete ' +
auto_cw_filename) auto_cw_filename)
self.server.auto_cw_cache[nickname]: list[str] = [] self.server.auto_cw_cache[nickname]: list[str] = []
@ -544,9 +544,9 @@ def _profile_post_autogenerated_tags(base_dir: str,
auto_tags_filename) auto_tags_filename)
else: else:
if os.path.isfile(auto_tags_filename): if os.path.isfile(auto_tags_filename):
remove_file(auto_tags_filename, erase_file(auto_tags_filename,
'EX: _profile_edit unable to delete ' + 'EX: _profile_edit unable to delete ' +
auto_tags_filename) auto_tags_filename)
def _profile_post_word_replacements(base_dir: str, def _profile_post_word_replacements(base_dir: str,
@ -562,9 +562,9 @@ def _profile_post_word_replacements(base_dir: str,
switch_filename) switch_filename)
else: else:
if os.path.isfile(switch_filename): if os.path.isfile(switch_filename):
remove_file(switch_filename, erase_file(switch_filename,
'EX: _profile_edit unable to delete ' + 'EX: _profile_edit unable to delete ' +
switch_filename) switch_filename)
def _profile_post_filtered_words_within_bio(base_dir: str, def _profile_post_filtered_words_within_bio(base_dir: str,
@ -580,10 +580,10 @@ def _profile_post_filtered_words_within_bio(base_dir: str,
filter_bio_filename) filter_bio_filename)
else: else:
if os.path.isfile(filter_bio_filename): if os.path.isfile(filter_bio_filename):
remove_file(filter_bio_filename, erase_file(filter_bio_filename,
'EX: _profile_edit ' + 'EX: _profile_edit ' +
'unable to delete bio filter ' + 'unable to delete bio filter ' +
filter_bio_filename) filter_bio_filename)
def _profile_post_filtered_words(base_dir: str, nickname: str, domain: str, def _profile_post_filtered_words(base_dir: str, nickname: str, domain: str,
@ -597,9 +597,9 @@ def _profile_post_filtered_words(base_dir: str, nickname: str, domain: str,
filter_filename) filter_filename)
else: else:
if os.path.isfile(filter_filename): if os.path.isfile(filter_filename):
remove_file(filter_filename, erase_file(filter_filename,
'EX: _profile_edit unable to delete filter ' + 'EX: _profile_edit unable to delete filter ' +
filter_filename) filter_filename)
def _profile_post_low_bandwidth(base_dir: str, path: str, def _profile_post_low_bandwidth(base_dir: str, path: str,
@ -720,9 +720,9 @@ def _profile_post_notify_reactions(base_dir: str,
notify_reactions_filename) notify_reactions_filename)
if not notify_reactions_active: if not notify_reactions_active:
if os.path.isfile(notify_reactions_filename): if os.path.isfile(notify_reactions_filename):
remove_file(notify_reactions_filename, erase_file(notify_reactions_filename,
'EX: _profile_edit unable to delete ' + 'EX: _profile_edit unable to delete ' +
notify_reactions_filename) notify_reactions_filename)
return actor_changed return actor_changed
@ -750,9 +750,9 @@ def _profile_post_notify_likes(on_final_welcome_screen: bool,
notify_likes_filename) notify_likes_filename)
if not notify_likes_active: if not notify_likes_active:
if os.path.isfile(notify_likes_filename): if os.path.isfile(notify_likes_filename):
remove_file(notify_likes_filename, erase_file(notify_likes_filename,
'EX: _profile_edit unable to delete ' + 'EX: _profile_edit unable to delete ' +
notify_likes_filename) notify_likes_filename)
return actor_changed return actor_changed
@ -849,9 +849,9 @@ def _profile_post_no_reply_boosts(base_dir: str, nickname: str, domain: str,
no_reply_boosts_filename) no_reply_boosts_filename)
if not no_reply_boosts: if not no_reply_boosts:
if os.path.isfile(no_reply_boosts_filename): if os.path.isfile(no_reply_boosts_filename):
remove_file(no_reply_boosts_filename, erase_file(no_reply_boosts_filename,
'EX: _profile_edit unable to delete ' + 'EX: _profile_edit unable to delete ' +
no_reply_boosts_filename) no_reply_boosts_filename)
def _profile_post_no_seen_posts(base_dir: str, nickname: str, domain: str, def _profile_post_no_seen_posts(base_dir: str, nickname: str, domain: str,
@ -871,9 +871,9 @@ def _profile_post_no_seen_posts(base_dir: str, nickname: str, domain: str,
no_seen_posts_filename) no_seen_posts_filename)
if not no_seen_posts: if not no_seen_posts:
if os.path.isfile(no_seen_posts_filename): if os.path.isfile(no_seen_posts_filename):
remove_file(no_seen_posts_filename, erase_file(no_seen_posts_filename,
'EX: _profile_edit unable to delete ' + 'EX: _profile_edit unable to delete ' +
no_seen_posts_filename) no_seen_posts_filename)
def _profile_post_watermark_enabled(base_dir: str, def _profile_post_watermark_enabled(base_dir: str,
@ -894,10 +894,10 @@ def _profile_post_watermark_enabled(base_dir: str,
watermark_enabled_filename) watermark_enabled_filename)
if not watermark_enabled: if not watermark_enabled:
if os.path.isfile(watermark_enabled_filename): if os.path.isfile(watermark_enabled_filename):
remove_file(watermark_enabled_filename, erase_file(watermark_enabled_filename,
'EX: _profile_edit ' + 'EX: _profile_edit ' +
'unable to delete ' + 'unable to delete ' +
watermark_enabled_filename) watermark_enabled_filename)
def _profile_post_hide_follows(base_dir: str, nickname: str, domain: str, def _profile_post_hide_follows(base_dir: str, nickname: str, domain: str,
@ -927,10 +927,10 @@ def _profile_post_hide_follows(base_dir: str, nickname: str, domain: str,
del self.server.hide_follows[nickname] del self.server.hide_follows[nickname]
actor_changed = True actor_changed = True
if os.path.isfile(hide_follows_filename): if os.path.isfile(hide_follows_filename):
remove_file(hide_follows_filename, erase_file(hide_follows_filename,
'EX: _profile_post_hide_follows ' + 'EX: _profile_post_hide_follows ' +
'unable to delete ' + 'unable to delete ' +
hide_follows_filename) hide_follows_filename)
return actor_changed return actor_changed
@ -961,10 +961,10 @@ def _profile_post_hide_recent_posts(base_dir: str, nickname: str, domain: str,
del self.server.hide_recent_posts[nickname] del self.server.hide_recent_posts[nickname]
actor_changed = True actor_changed = True
if os.path.isfile(hide_recent_posts_filename): if os.path.isfile(hide_recent_posts_filename):
remove_file(hide_recent_posts_filename, erase_file(hide_recent_posts_filename,
'EX: _profile_post_hide_recent_posts ' + 'EX: _profile_post_hide_recent_posts ' +
'unable to delete ' + 'unable to delete ' +
hide_recent_posts_filename) hide_recent_posts_filename)
return actor_changed return actor_changed
@ -978,9 +978,9 @@ def _profile_post_mutuals_replies(account_dir: str, fields: {}) -> None:
show_replies_mutuals_file = account_dir + '/.repliesFromMutualsOnly' show_replies_mutuals_file = account_dir + '/.repliesFromMutualsOnly'
if os.path.isfile(show_replies_mutuals_file): if os.path.isfile(show_replies_mutuals_file):
if not show_replies_mutuals: if not show_replies_mutuals:
remove_file(show_replies_mutuals_file, erase_file(show_replies_mutuals_file,
'EX: unable to remove repliesFromMutualsOnly file ' + 'EX: unable to remove repliesFromMutualsOnly file ' +
show_replies_mutuals_file) show_replies_mutuals_file)
else: else:
if show_replies_mutuals: if show_replies_mutuals:
save_flag_file(show_replies_mutuals_file, save_flag_file(show_replies_mutuals_file,
@ -999,10 +999,10 @@ def _profile_post_only_follower_replies(fields: {},
show_replies_followers_file = account_dir + '/.repliesFromFollowersOnly' show_replies_followers_file = account_dir + '/.repliesFromFollowersOnly'
if os.path.isfile(show_replies_followers_file): if os.path.isfile(show_replies_followers_file):
if not show_replies_followers: if not show_replies_followers:
remove_file(show_replies_followers_file, erase_file(show_replies_followers_file,
'EX: unable to remove ' + 'EX: unable to remove ' +
'repliesFromFollowersOnly file ' + 'repliesFromFollowersOnly file ' +
show_replies_followers_file) show_replies_followers_file)
else: else:
if show_replies_followers: if show_replies_followers:
save_flag_file(show_replies_followers_file, save_flag_file(show_replies_followers_file,
@ -1021,9 +1021,9 @@ def _profile_post_show_quote_toots(fields: {}, account_dir: str) -> None:
show_quote_toots_file = account_dir + '/.allowQuotes' show_quote_toots_file = account_dir + '/.allowQuotes'
if os.path.isfile(show_quote_toots_file): if os.path.isfile(show_quote_toots_file):
if not show_quote_toots: if not show_quote_toots:
remove_file(show_quote_toots_file, erase_file(show_quote_toots_file,
'EX: unable to remove allowQuotes file ' + 'EX: unable to remove allowQuotes file ' +
show_quote_toots_file) show_quote_toots_file)
else: else:
if show_quote_toots: if show_quote_toots:
save_flag_file(show_quote_toots_file, save_flag_file(show_quote_toots_file,
@ -1041,9 +1041,9 @@ def _profile_post_show_questions(fields: {}, account_dir: str) -> None:
show_vote_file = account_dir + '/.noVotes' show_vote_file = account_dir + '/.noVotes'
if os.path.isfile(show_vote_file): if os.path.isfile(show_vote_file):
if show_vote_posts: if show_vote_posts:
remove_file(show_vote_file, erase_file(show_vote_file,
'EX: unable to remove noVotes file ' + 'EX: unable to remove noVotes file ' +
show_vote_file) show_vote_file)
else: else:
if not show_vote_posts: if not show_vote_posts:
save_flag_file(show_vote_file, save_flag_file(show_vote_file,
@ -1089,9 +1089,9 @@ def _profile_post_bold_reading(base_dir: str,
if self.server.bold_reading.get(nickname): if self.server.bold_reading.get(nickname):
del self.server.bold_reading[nickname] del self.server.bold_reading[nickname]
if os.path.isfile(bold_reading_filename): if os.path.isfile(bold_reading_filename):
remove_file(bold_reading_filename, erase_file(bold_reading_filename,
'EX: _profile_edit unable to delete ' + 'EX: _profile_edit unable to delete ' +
bold_reading_filename) bold_reading_filename)
def _profile_post_hide_reaction_button2(base_dir: str, def _profile_post_hide_reaction_button2(base_dir: str,
@ -1112,14 +1112,14 @@ def _profile_post_hide_reaction_button2(base_dir: str,
hide_reaction_button_file) hide_reaction_button_file)
# remove notify Reaction selection # remove notify Reaction selection
if os.path.isfile(notify_reactions_filename): if os.path.isfile(notify_reactions_filename):
remove_file(notify_reactions_filename, erase_file(notify_reactions_filename,
'EX: _profile_edit unable to delete ' + 'EX: _profile_edit unable to delete ' +
notify_reactions_filename) notify_reactions_filename)
if not hide_reaction_button_active: if not hide_reaction_button_active:
if os.path.isfile(hide_reaction_button_file): if os.path.isfile(hide_reaction_button_file):
remove_file(hide_reaction_button_file, erase_file(hide_reaction_button_file,
'EX: _profile_edit unable to delete ' + 'EX: _profile_edit unable to delete ' +
hide_reaction_button_file) hide_reaction_button_file)
def _profile_post_minimize_images(base_dir: str, nickname: str, domain: str, def _profile_post_minimize_images(base_dir: str, nickname: str, domain: str,
@ -1163,14 +1163,14 @@ def _profile_post_hide_like_button2(base_dir: str, nickname: str, domain: str,
hide_like_button_file) hide_like_button_file)
# remove notify likes selection # remove notify likes selection
if os.path.isfile(notify_likes_filename): if os.path.isfile(notify_likes_filename):
remove_file(notify_likes_filename, erase_file(notify_likes_filename,
'EX: _profile_edit unable to delete ' + 'EX: _profile_edit unable to delete ' +
notify_likes_filename) notify_likes_filename)
if not hide_like_button_active: if not hide_like_button_active:
if os.path.isfile(hide_like_button_file): if os.path.isfile(hide_like_button_file):
remove_file(hide_like_button_file, erase_file(hide_like_button_file,
'EX: _profile_edit unable to delete ' + 'EX: _profile_edit unable to delete ' +
hide_like_button_file) hide_like_button_file)
def _profile_post_remove_retweets(base_dir: str, nickname: str, domain: str, def _profile_post_remove_retweets(base_dir: str, nickname: str, domain: str,
@ -1188,9 +1188,9 @@ def _profile_post_remove_retweets(base_dir: str, nickname: str, domain: str,
remove_twitter_filename) remove_twitter_filename)
if not remove_twitter_active: if not remove_twitter_active:
if os.path.isfile(remove_twitter_filename): if os.path.isfile(remove_twitter_filename):
remove_file(remove_twitter_filename, erase_file(remove_twitter_filename,
'EX: _profile_edit unable to delete ' + 'EX: _profile_edit unable to delete ' +
remove_twitter_filename) remove_twitter_filename)
def _profile_post_dms_from_followers(base_dir: str, nickname: str, domain: str, def _profile_post_dms_from_followers(base_dir: str, nickname: str, domain: str,
@ -1217,9 +1217,9 @@ def _profile_post_dms_from_followers(base_dir: str, nickname: str, domain: str,
follow_dms_filename) follow_dms_filename)
if not follow_dms_active: if not follow_dms_active:
if os.path.isfile(follow_dms_filename): if os.path.isfile(follow_dms_filename):
remove_file(follow_dms_filename, erase_file(follow_dms_filename,
'EX: _profile_edit unable to delete ' + 'EX: _profile_edit unable to delete ' +
follow_dms_filename) follow_dms_filename)
return actor_changed return actor_changed
@ -1237,17 +1237,17 @@ def _profile_post_remove_custom_font(base_dir: str, nickname: str, domain: str,
font_ext = ('woff', 'woff2', 'otf', 'ttf') font_ext = ('woff', 'woff2', 'otf', 'ttf')
for ext in font_ext: for ext in font_ext:
if os.path.isfile(base_dir + '/fonts/custom.' + ext): if os.path.isfile(base_dir + '/fonts/custom.' + ext):
remove_file(base_dir + '/fonts/custom.' + ext, erase_file(base_dir + '/fonts/custom.' + ext,
'EX: _profile_edit unable to delete ' + 'EX: _profile_edit unable to delete ' +
base_dir + '/fonts/custom.' + ext) base_dir + '/fonts/custom.' + ext)
if os.path.isfile(base_dir + if os.path.isfile(base_dir +
'/fonts/custom.' + ext + '.etag'): '/fonts/custom.' + ext + '.etag'):
remove_file(base_dir + erase_file(base_dir +
'/fonts/custom.' + ext + '.etag', '/fonts/custom.' + ext + '.etag',
'EX: _profile_edit ' + 'EX: _profile_edit ' +
'unable to delete ' + 'unable to delete ' +
base_dir + '/fonts/custom.' + base_dir + '/fonts/custom.' +
ext + '.etag') ext + '.etag')
curr_theme = get_theme(base_dir) curr_theme = get_theme(base_dir)
if curr_theme: if curr_theme:
self.server.theme_name = curr_theme self.server.theme_name = curr_theme
@ -1306,8 +1306,8 @@ def _profile_post_reject_spam_actors(base_dir: str,
save_flag_file(actor_spam_filter_filename, save_flag_file(actor_spam_filter_filename,
'EX: unable to write reject spam actors') 'EX: unable to write reject spam actors')
else: else:
remove_file(actor_spam_filter_filename, erase_file(actor_spam_filter_filename,
'EX: unable to remove reject spam actors') 'EX: unable to remove reject spam actors')
def _profile_post_approve_followers(on_final_welcome_screen: bool, def _profile_post_approve_followers(on_final_welcome_screen: bool,
@ -2730,9 +2730,9 @@ def profile_edit(self, calling_domain: str, cookie: str,
os.mkdir(base_dir + '/imports') os.mkdir(base_dir + '/imports')
filename_base = base_dir + '/imports/newtheme.zip' filename_base = base_dir + '/imports/newtheme.zip'
if os.path.isfile(filename_base): if os.path.isfile(filename_base):
remove_file(filename_base, erase_file(filename_base,
'EX: _profile_edit unable to delete ' + 'EX: _profile_edit unable to delete ' +
filename_base) filename_base)
elif m_type == 'importFollows': elif m_type == 'importFollows':
filename_base = \ filename_base = \
acct_dir(base_dir, nickname, domain) + \ acct_dir(base_dir, nickname, domain) + \
@ -2776,9 +2776,9 @@ def profile_edit(self, calling_domain: str, cookie: str,
' media removing metadata') ' media removing metadata')
# remove existing etag # remove existing etag
if os.path.isfile(post_image_filename + '.etag'): if os.path.isfile(post_image_filename + '.etag'):
remove_file(post_image_filename + '.etag', erase_file(post_image_filename + '.etag',
'EX: _profile_edit unable to delete ' + 'EX: _profile_edit unable to delete ' +
post_image_filename + '.etag') post_image_filename + '.etag')
city = get_spoofed_city(self.server.city, city = get_spoofed_city(self.server.city,
base_dir, nickname, domain) base_dir, nickname, domain)

View File

@ -29,7 +29,7 @@ from posts import create_direct_message_post
from daemon_utils import post_to_outbox from daemon_utils import post_to_outbox
from inbox import populate_replies from inbox import populate_replies
from data import append_string from data import append_string
from data import remove_file from data import erase_file
def receive_vote(self, calling_domain: str, cookie: str, def receive_vote(self, calling_domain: str, cookie: str,
@ -303,10 +303,10 @@ def _send_reply_to_question(self, base_dir: str,
post_json_object) post_json_object)
if cached_post_filename: if cached_post_filename:
if os.path.isfile(cached_post_filename): if os.path.isfile(cached_post_filename):
remove_file(cached_post_filename, erase_file(cached_post_filename,
'EX: _send_reply_to_question ' + 'EX: _send_reply_to_question ' +
'unable to delete ' + 'unable to delete ' +
cached_post_filename) cached_post_filename)
# remove from memory cache # remove from memory cache
remove_post_from_cache(post_json_object, remove_post_from_cache(post_json_object,
recent_posts_cache) recent_posts_cache)

View File

@ -66,7 +66,8 @@ from shares import add_shares_to_actor
from person import get_actor_update_json from person import get_actor_update_json
from maps import geocoords_to_osm_link from maps import geocoords_to_osm_link
from data import save_string from data import save_string
from data import remove_file from data import erase_file
from data import move_file
NEW_POST_SUCCESS = 1 NEW_POST_SUCCESS = 1
NEW_POST_FAILED = -1 NEW_POST_FAILED = -1
@ -424,9 +425,9 @@ def _receive_new_post_process_editblog(self, fields: {},
fields['postUrl'].replace('/', '#') + '.html' fields['postUrl'].replace('/', '#') + '.html'
if os.path.isfile(cached_filename): if os.path.isfile(cached_filename):
print('Edited blog post, removing cached html') print('Edited blog post, removing cached html')
remove_file(cached_filename, erase_file(cached_filename,
'EX: _receive_new_post_process ' + 'EX: _receive_new_post_process ' +
'unable to delete ' + cached_filename) 'unable to delete ' + cached_filename)
# remove from memory cache # remove from memory cache
remove_post_from_cache(post_json_object, remove_post_from_cache(post_json_object,
recent_posts_cache) recent_posts_cache)
@ -1745,9 +1746,9 @@ def _receive_new_post_process_newshare(self, fields: {},
if filename: if filename:
if os.path.isfile(filename): if os.path.isfile(filename):
remove_file(filename, erase_file(filename,
'EX: _receive_new_post_process ' + 'EX: _receive_new_post_process ' +
'unable to delete ' + filename) 'unable to delete ' + filename)
self.post_to_nickname = nickname self.post_to_nickname = nickname
return NEW_POST_SUCCESS return NEW_POST_SUCCESS
@ -1911,12 +1912,10 @@ def _receive_new_post_process(self, post_type: str, path: str, headers: {},
else: else:
if os.path.isfile(filename): if os.path.isfile(filename):
new_filename = filename.replace('.temp', '') new_filename = filename.replace('.temp', '')
try: if move_file(filename, new_filename,
os.rename(filename, new_filename) 'EX: POST could not rename ' +
filename + ' -> ' + new_filename):
filename = new_filename filename = new_filename
except OSError:
print('EX: POST could not rename ' +
filename + ' -> ' + new_filename)
fields = \ fields = \
extract_text_fields_in_post(post_bytes, boundary, debug, None) extract_text_fields_in_post(post_bytes, boundary, debug, None)

16
data.py
View File

@ -152,7 +152,7 @@ def prepend_string(text: str, filename: str, exception_text: str) -> bool:
return False return False
def remove_file(filename: str, exception_text: str) -> bool: def erase_file(filename: str, exception_text: str) -> bool:
"""Deletes a file """Deletes a file
""" """
try: try:
@ -163,3 +163,17 @@ def remove_file(filename: str, exception_text: str) -> bool:
exception_text = exception_text.replace('[ex]', str(exc)) exception_text = exception_text.replace('[ex]', str(exc))
print(exception_text) print(exception_text)
return False return False
def move_file(old_filename: str, new_filename: str,
exception_text: str) -> bool:
"""Moves/overwrites a file
"""
try:
os.rename(old_filename, new_filename)
return True
except OSError as exc:
if '[ex]' in exception_text:
exception_text = exception_text.replace('[ex]', str(exc))
print(exception_text)
return False

View File

@ -28,7 +28,7 @@ from session import post_json
from webfinger import webfinger_handle from webfinger import webfinger_handle
from auth import create_basic_auth_header from auth import create_basic_auth_header
from posts import get_person_box from posts import get_person_box
from data import remove_file from data import erase_file
def send_delete_via_server(base_dir: str, session, def send_delete_via_server(base_dir: str, session,
@ -214,7 +214,7 @@ def remove_old_hashtags(base_dir: str, max_months: int) -> str:
remove_hashtags.append(tags_filename) remove_hashtags.append(tags_filename)
break break
for remove_filename in remove_hashtags: for erase_filename in remove_hashtags:
remove_file(remove_filename, erase_file(erase_filename,
'EX: remove_old_hashtags unable to delete ' + 'EX: remove_old_hashtags unable to delete ' +
remove_filename) erase_filename)

View File

@ -19,6 +19,7 @@ from unicodetext import remove_square_capitals
from data import append_string from data import append_string
from data import save_string from data import save_string
from data import load_list from data import load_list
from data import move_file
def add_filter(base_dir: str, nickname: str, domain: str, words: str) -> bool: def add_filter(base_dir: str, nickname: str, domain: str, words: str) -> bool:
@ -81,12 +82,10 @@ def remove_filter(base_dir: str, nickname: str, domain: str,
filters_filename + ' 2 [ex]') filters_filename + ' 2 [ex]')
if os.path.isfile(new_filters_filename): if os.path.isfile(new_filters_filename):
try: if move_file(new_filters_filename, filters_filename,
os.rename(new_filters_filename, filters_filename) 'EX: remove_filter could not rename ' +
new_filters_filename + ' -> ' + filters_filename):
return True return True
except OSError:
print('EX: remove_filter could not rename ' +
new_filters_filename + ' -> ' + filters_filename)
return False return False
@ -117,12 +116,10 @@ def remove_global_filter(base_dir: str, words: str) -> bool:
filters_filename + ' 2 [ex]') filters_filename + ' 2 [ex]')
if os.path.isfile(new_filters_filename): if os.path.isfile(new_filters_filename):
try: if move_file(new_filters_filename, filters_filename,
os.rename(new_filters_filename, filters_filename) 'EX: remove_global_filter could not rename ' +
new_filters_filename + ' -> ' + filters_filename):
return True return True
except OSError:
print('EX: remove_global_filter could not rename ' +
new_filters_filename + ' -> ' + filters_filename)
return False return False

View File

@ -49,7 +49,8 @@ from data import load_string
from data import append_string from data import append_string
from data import load_list from data import load_list
from data import save_string from data import save_string
from data import remove_file from data import erase_file
from data import move_file
def create_initial_last_seen(base_dir: str, http_prefix: str) -> None: def create_initial_last_seen(base_dir: str, http_prefix: str) -> None:
@ -165,11 +166,9 @@ def _remove_from_follow_base(base_dir: str,
'EX: _remove_from_follow_base ' + 'EX: _remove_from_follow_base ' +
approve_follows_filename + ' 1 [ex]') approve_follows_filename + ' 1 [ex]')
try: move_file(approve_follows_filename + '.new',
os.rename(approve_follows_filename + '.new', approve_follows_filename,
approve_follows_filename) 'EX: _remove_from_follow_base could not rename ' +
except OSError:
print('EX: _remove_from_follow_base could not rename ' +
approve_follows_filename + '.new' + ' -> ' + approve_follows_filename + '.new' + ' -> ' +
approve_follows_filename) approve_follows_filename)
@ -389,8 +388,8 @@ def clear_follows(base_dir: str, nickname: str, domain: str,
os.mkdir(accounts_dir) os.mkdir(accounts_dir)
filename = accounts_dir + '/' + follow_file filename = accounts_dir + '/' + follow_file
if os.path.isfile(filename): if os.path.isfile(filename):
remove_file(filename, erase_file(filename,
'EX: clear_follows unable to delete ' + filename) 'EX: clear_follows unable to delete ' + filename)
def clear_followers(base_dir: str, nickname: str, domain: str) -> None: def clear_followers(base_dir: str, nickname: str, domain: str) -> None:
@ -780,10 +779,10 @@ def followed_account_accepts(session, base_dir: str, http_prefix: str,
acct_dir(base_dir, nickname_to_follow, domain_to_follow) + \ acct_dir(base_dir, nickname_to_follow, domain_to_follow) + \
'/requests/' + nickname + '@' + domain + '.follow' '/requests/' + nickname + '@' + domain + '.follow'
if os.path.isfile(follow_activity_filename): if os.path.isfile(follow_activity_filename):
remove_file(follow_activity_filename, erase_file(follow_activity_filename,
'EX: follow Accept ' + 'EX: follow Accept ' +
'followed_account_accepts unable to delete ' + 'followed_account_accepts unable to delete ' +
follow_activity_filename) follow_activity_filename)
group_account: bool = False group_account: bool = False
if follow_json: if follow_json:
@ -870,9 +869,9 @@ def followed_account_rejects(session, session_onion, session_i2p,
remove_from_follow_requests(base_dir, nickname_to_follow, domain_to_follow, remove_from_follow_requests(base_dir, nickname_to_follow, domain_to_follow,
deny_handle, debug) deny_handle, debug)
# remove the follow request json # remove the follow request json
remove_file(follow_activity_filename, erase_file(follow_activity_filename,
'EX: followed_account_rejects unable to delete ' + 'EX: followed_account_rejects unable to delete ' +
follow_activity_filename) follow_activity_filename)
curr_session = session curr_session = session
if domain.endswith('.onion') and session_onion: if domain.endswith('.onion') and session_onion:
curr_session = session_onion curr_session = session_onion

View File

@ -41,7 +41,7 @@ from data import load_string
from data import save_string from data import save_string
from data import append_string from data import append_string
from data import prepend_string from data import prepend_string
from data import remove_file from data import erase_file
def _strings_are_digits(strings_list: []) -> bool: def _strings_are_digits(strings_list: []) -> bool:
@ -102,8 +102,8 @@ def _remove_event_from_timeline(event_id: str,
save_string(events_timeline, tl_events_filename, save_string(events_timeline, tl_events_filename,
'EX: ERROR: unable to save events timeline') 'EX: ERROR: unable to save events timeline')
elif os.path.isfile(tl_events_filename): elif os.path.isfile(tl_events_filename):
remove_file(tl_events_filename, erase_file(tl_events_filename,
'EX: ERROR: unable to remove events timeline') 'EX: ERROR: unable to remove events timeline')
def save_event_post(base_dir: str, handle: str, post_id: str, def save_event_post(base_dir: str, handle: str, post_id: str,

View File

@ -24,7 +24,7 @@ from threads import begin_thread
from person import set_person_notes from person import set_person_notes
from data import load_string from data import load_string
from data import save_string from data import save_string
from data import remove_file from data import erase_file
def _establish_import_session(httpd, def _establish_import_session(httpd,
@ -221,9 +221,9 @@ def run_import_following(base_dir: str, httpd):
continue continue
if not _update_import_following(base_dir, account, httpd, if not _update_import_following(base_dir, account, httpd,
import_filename): import_filename):
remove_file(import_filename, erase_file(import_filename,
'EX: unable to remove import file ' + 'EX: unable to remove import file ' +
import_filename) import_filename)
else: else:
break break

View File

@ -143,7 +143,7 @@ from data import save_flag_file
from data import load_string from data import load_string
from data import append_string from data import append_string
from data import prepend_string from data import prepend_string
from data import remove_file from data import erase_file
def _store_last_post_id(base_dir: str, nickname: str, domain: str, def _store_last_post_id(base_dir: str, nickname: str, domain: str,
@ -2812,9 +2812,9 @@ def clear_queue_items(base_dir: str, queue: []) -> None:
for _, _, queuefiles in os.walk(queue_dir): for _, _, queuefiles in os.walk(queue_dir):
for qfile in queuefiles: for qfile in queuefiles:
filename = os.path.join(queue_dir, qfile) filename = os.path.join(queue_dir, qfile)
if remove_file(filename, if erase_file(filename,
'EX: clear_queue_items unable to delete ' + 'EX: clear_queue_items unable to delete ' +
qfile): qfile):
ctr += 1 ctr += 1
break break
break break
@ -2927,7 +2927,7 @@ def _inbox_quota_exceeded(queue: {}, queue_filename: str,
ex_text = \ ex_text = \
'EX: _inbox_quota_exceeded unable to delete 1 ' + \ 'EX: _inbox_quota_exceeded unable to delete 1 ' + \
str(queue_filename) str(queue_filename)
remove_file(queue_filename, ex_text) erase_file(queue_filename, ex_text)
if queue: if queue:
queue.pop(0) queue.pop(0)
return True return True
@ -2949,7 +2949,7 @@ def _inbox_quota_exceeded(queue: {}, queue_filename: str,
ex_text = \ ex_text = \
'EX: _inbox_quota_exceeded unable to delete 2 ' + \ 'EX: _inbox_quota_exceeded unable to delete 2 ' + \
str(queue_filename) str(queue_filename)
remove_file(queue_filename, ex_text) erase_file(queue_filename, ex_text)
if queue: if queue:
queue.pop(0) queue.pop(0)
return True return True
@ -2970,7 +2970,7 @@ def _inbox_quota_exceeded(queue: {}, queue_filename: str,
ex_text = \ ex_text = \
'EX: _inbox_quota_exceeded unable to delete 3 ' + \ 'EX: _inbox_quota_exceeded unable to delete 3 ' + \
str(queue_filename) str(queue_filename)
remove_file(queue_filename, ex_text) erase_file(queue_filename, ex_text)
if queue: if queue:
queue.pop(0) queue.pop(0)
return True return True
@ -2992,7 +2992,7 @@ def _inbox_quota_exceeded(queue: {}, queue_filename: str,
ex_text = \ ex_text = \
'EX: _inbox_quota_exceeded unable to delete 4 ' + \ 'EX: _inbox_quota_exceeded unable to delete 4 ' + \
str(queue_filename) str(queue_filename)
remove_file(queue_filename, ex_text) erase_file(queue_filename, ex_text)
if queue: if queue:
queue.pop(0) queue.pop(0)
return True return True
@ -3573,7 +3573,7 @@ def run_inbox_queue(server,
ex_text = \ ex_text = \
'EX: run_inbox_queue 1 unable to delete ' + \ 'EX: run_inbox_queue 1 unable to delete ' + \
str(queue_filename) str(queue_filename)
remove_file(queue_filename, ex_text) erase_file(queue_filename, ex_text)
continue continue
curr_time = get_current_time_int() curr_time = get_current_time_int()
@ -3664,7 +3664,7 @@ def run_inbox_queue(server,
ex_text = \ ex_text = \
'EX: run_inbox_queue 11 unable to delete ' + \ 'EX: run_inbox_queue 11 unable to delete ' + \
str(queue_filename) str(queue_filename)
remove_file(queue_filename, ex_text) erase_file(queue_filename, ex_text)
if queue: if queue:
queue.pop(0) queue.pop(0)
continue continue
@ -3740,7 +3740,7 @@ def run_inbox_queue(server,
ex_text = \ ex_text = \
'EX: run_inbox_queue 2 unable to delete ' + \ 'EX: run_inbox_queue 2 unable to delete ' + \
str(queue_filename) str(queue_filename)
remove_file(queue_filename, ex_text) erase_file(queue_filename, ex_text)
if queue: if queue:
queue.pop(0) queue.pop(0)
continue continue
@ -3799,7 +3799,7 @@ def run_inbox_queue(server,
ex_text = \ ex_text = \
'EX: run_inbox_queue 3 unable to delete ' + \ 'EX: run_inbox_queue 3 unable to delete ' + \
str(queue_filename) str(queue_filename)
remove_file(queue_filename, ex_text) erase_file(queue_filename, ex_text)
if queue: if queue:
queue.pop(0) queue.pop(0)
continue continue
@ -3820,7 +3820,7 @@ def run_inbox_queue(server,
ex_text = \ ex_text = \
'EX: run_inbox_queue 4 unable to delete ' + \ 'EX: run_inbox_queue 4 unable to delete ' + \
str(queue_filename) str(queue_filename)
remove_file(queue_filename, ex_text) erase_file(queue_filename, ex_text)
if queue: if queue:
queue.pop(0) queue.pop(0)
fitness_performance(inbox_start_time, server.fitness, fitness_performance(inbox_start_time, server.fitness,
@ -4132,6 +4132,6 @@ def run_inbox_queue(server,
ex_text = \ ex_text = \
'EX: run_inbox_queue 10 unable to delete ' + \ 'EX: run_inbox_queue 10 unable to delete ' + \
str(queue_filename) str(queue_filename)
remove_file(queue_filename, ex_text) erase_file(queue_filename, ex_text)
if queue: if queue:
queue.pop(0) queue.pop(0)

View File

@ -91,7 +91,7 @@ from data import save_flag_file
from data import append_string from data import append_string
from data import prepend_string from data import prepend_string
from data import load_string from data import load_string
from data import remove_file from data import erase_file
def inbox_update_index(boxname: str, base_dir: str, handle: str, def inbox_update_index(boxname: str, base_dir: str, handle: str,
@ -353,9 +353,9 @@ def _receive_update_to_question(recent_posts_cache: {}, message_json: {},
get_cached_post_filename(base_dir, nickname, domain, message_json) get_cached_post_filename(base_dir, nickname, domain, message_json)
if cached_post_filename: if cached_post_filename:
if os.path.isfile(cached_post_filename): if os.path.isfile(cached_post_filename):
remove_file(cached_post_filename, erase_file(cached_post_filename,
'EX: _receive_update_to_question unable to delete ' + 'EX: _receive_update_to_question unable to delete ' +
cached_post_filename) cached_post_filename)
# remove from memory cache # remove from memory cache
remove_post_from_cache(message_json, recent_posts_cache) remove_post_from_cache(message_json, recent_posts_cache)
return True return True
@ -483,9 +483,9 @@ def receive_edit_to_post(recent_posts_cache: {}, message_json: {},
get_cached_post_filename(base_dir, nickname, domain, message_json) get_cached_post_filename(base_dir, nickname, domain, message_json)
if cached_post_filename: if cached_post_filename:
if os.path.isfile(cached_post_filename): if os.path.isfile(cached_post_filename):
remove_file(cached_post_filename, erase_file(cached_post_filename,
'EX: _receive_edit_to_post unable to delete ' + 'EX: _receive_edit_to_post unable to delete ' +
cached_post_filename) cached_post_filename)
# remove any cached html for the post which was edited # remove any cached html for the post which was edited
delete_cached_html(base_dir, nickname, domain, post_json_object) delete_cached_html(base_dir, nickname, domain, post_json_object)
# remove from memory cache # remove from memory cache
@ -2088,7 +2088,7 @@ def receive_announce(recent_posts_cache: {},
ex_text = \ ex_text = \
'EX: _receive_announce unable to delete ' + \ 'EX: _receive_announce unable to delete ' + \
str(post_filename) str(post_filename)
remove_file(post_filename, ex_text) erase_file(post_filename, ex_text)
else: else:
if debug: if debug:
actor_url = get_actor_from_post(message_json) actor_url = get_actor_from_post(message_json)
@ -2209,9 +2209,9 @@ def receive_question_vote(server, base_dir: str, nickname: str, domain: str,
get_cached_post_filename(base_dir, nickname, domain, question_json) get_cached_post_filename(base_dir, nickname, domain, question_json)
if cached_post_filename: if cached_post_filename:
if os.path.isfile(cached_post_filename): if os.path.isfile(cached_post_filename):
remove_file(cached_post_filename, erase_file(cached_post_filename,
'EX: replytoQuestion unable to delete ' + 'EX: replytoQuestion unable to delete ' +
cached_post_filename) cached_post_filename)
page_number: int = 1 page_number: int = 1
show_published_date_only: bool = False show_published_date_only: bool = False

View File

@ -36,7 +36,7 @@ from follow import follower_approval_active
from bookmarks import undo_bookmarks_collection_entry from bookmarks import undo_bookmarks_collection_entry
from webapp_post import individual_post_as_html from webapp_post import individual_post_as_html
from reaction import undo_reaction_collection_entry from reaction import undo_reaction_collection_entry
from data import remove_file from data import erase_file
def _receive_undo_follow(base_dir: str, message_json: {}, def _receive_undo_follow(base_dir: str, message_json: {},
@ -656,5 +656,5 @@ def receive_undo_announce(recent_posts_cache: {},
ex_text = \ ex_text = \
'EX: _receive_undo_announce unable to delete ' + \ 'EX: _receive_undo_announce unable to delete ' + \
str(post_filename) str(post_filename)
remove_file(post_filename, ex_text) erase_file(post_filename, ex_text)
return True return True

10
like.py
View File

@ -33,7 +33,7 @@ from session import post_json
from webfinger import webfinger_handle from webfinger import webfinger_handle
from auth import create_basic_auth_header from auth import create_basic_auth_header
from posts import get_person_box from posts import get_person_box
from data import remove_file from data import erase_file
def no_of_likes(post_json_object: {}) -> int: def no_of_likes(post_json_object: {}) -> int:
@ -472,9 +472,9 @@ def update_likes_collection(recent_posts_cache: {},
domain, post_json_object) domain, post_json_object)
if cached_post_filename: if cached_post_filename:
if os.path.isfile(cached_post_filename): if os.path.isfile(cached_post_filename):
remove_file(cached_post_filename, erase_file(cached_post_filename,
'EX: update_likes_collection unable to delete ' + 'EX: update_likes_collection unable to delete ' +
cached_post_filename) cached_post_filename)
obj = post_json_object obj = post_json_object
if has_object_dict(post_json_object): if has_object_dict(post_json_object):
@ -554,7 +554,7 @@ def undo_likes_collection_entry(recent_posts_cache: {},
'EX: undo_likes_collection_entry ' + \ 'EX: undo_likes_collection_entry ' + \
'unable to delete cached post ' + \ 'unable to delete cached post ' + \
str(cached_post_filename) str(cached_post_filename)
remove_file(cached_post_filename, ex_text) erase_file(cached_post_filename, ex_text)
remove_post_from_cache(post_json_object, recent_posts_cache) remove_post_from_cache(post_json_object, recent_posts_cache)
if not post_json_object.get('type'): if not post_json_object.get('type'):

View File

@ -14,7 +14,7 @@ from utils import get_attachment_property_value
from utils import acct_dir from utils import acct_dir
from utils import load_json from utils import load_json
from utils import string_contains from utils import string_contains
from data import remove_file from data import erase_file
VALID_LXMF_CHARS = set('0123456789abcdefghijklmnopqrstuvwxyz') VALID_LXMF_CHARS = set('0123456789abcdefghijklmnopqrstuvwxyz')
@ -112,8 +112,8 @@ def set_lxmf_address(base_dir: str, nickname: str, domain: str,
qrcode_filename = \ qrcode_filename = \
acct_dir(base_dir, nickname, domain) + '/qrcode_lxmf.png' acct_dir(base_dir, nickname, domain) + '/qrcode_lxmf.png'
if os.path.isfile(qrcode_filename): if os.path.isfile(qrcode_filename):
remove_file(qrcode_filename, erase_file(qrcode_filename,
'EX: cannot remove lxmf qrcode ' + qrcode_filename) 'EX: cannot remove lxmf qrcode ' + qrcode_filename)
lxmf_address = lxmf_address.strip() lxmf_address = lxmf_address.strip()

View File

@ -29,7 +29,8 @@ from data import load_string
from data import append_string from data import append_string
from data import prepend_string from data import prepend_string
from data import load_list from data import load_list
from data import remove_file from data import erase_file
from data import move_file
def manual_deny_follow_request2(session, session_onion, session_i2p, def manual_deny_follow_request2(session, session_onion, session_i2p,
@ -368,23 +369,21 @@ def manual_approve_follow_request(session, session_onion, session_i2p,
# mark this handle as approved for following # mark this handle as approved for following
_approve_follower_handle(account_dir, approve_handle) _approve_follower_handle(account_dir, approve_handle)
# update the follow requests with the handles not yet approved # update the follow requests with the handles not yet approved
try: move_file(approve_follows_filename + '.new',
os.rename(approve_follows_filename + '.new', approve_follows_filename,
approve_follows_filename) 'EX: manual_approve_follow_request could not rename ' +
except OSError:
print('EX: manual_approve_follow_request could not rename ' +
approve_follows_filename + '.new' + ' -> ' + approve_follows_filename + '.new' + ' -> ' +
approve_follows_filename) approve_follows_filename)
# remove the .follow file # remove the .follow file
if follow_activity_filename: if follow_activity_filename:
if os.path.isfile(follow_activity_filename): if os.path.isfile(follow_activity_filename):
remove_file(follow_activity_filename, erase_file(follow_activity_filename,
'EX: manual_approve_follow_request ' + 'EX: manual_approve_follow_request ' +
'unable to delete ' + follow_activity_filename) 'unable to delete ' + follow_activity_filename)
else: else:
remove_file(approve_follows_filename + '.new', erase_file(approve_follows_filename + '.new',
'EX: manual_approve_follow_request unable to delete ' + 'EX: manual_approve_follow_request unable to delete ' +
approve_follows_filename + '.new') approve_follows_filename + '.new')
def manual_approve_follow_request_thread(session, session_onion, session_i2p, def manual_approve_follow_request_thread(session, session_onion, session_i2p,

View File

@ -35,7 +35,8 @@ from data import load_binary
from data import save_string from data import save_string
from data import load_string from data import load_string
from data import append_string from data import append_string
from data import remove_file from data import erase_file
from data import move_file
# music file ID3 v1 genres # music file ID3 v1 genres
@ -476,9 +477,9 @@ def convert_image_to_low_bandwidth(image_filename: str) -> None:
""" """
low_bandwidth_filename = image_filename + '.low' low_bandwidth_filename = image_filename + '.low'
if os.path.isfile(low_bandwidth_filename): if os.path.isfile(low_bandwidth_filename):
remove_file(low_bandwidth_filename, erase_file(low_bandwidth_filename,
'EX: convert_image_to_low_bandwidth unable to delete ' + 'EX: convert_image_to_low_bandwidth unable to delete ' +
low_bandwidth_filename) low_bandwidth_filename)
cmd = \ cmd = \
'/usr/bin/convert +noise Multiplicative ' + \ '/usr/bin/convert +noise Multiplicative ' + \
@ -497,13 +498,11 @@ def convert_image_to_low_bandwidth(image_filename: str) -> None:
print('WARN: timed out waiting for low bandwidth image conversion') print('WARN: timed out waiting for low bandwidth image conversion')
break break
if os.path.isfile(low_bandwidth_filename): if os.path.isfile(low_bandwidth_filename):
remove_file(image_filename, erase_file(image_filename,
'EX: convert_image_to_low_bandwidth unable to delete ' + 'EX: convert_image_to_low_bandwidth unable to delete ' +
image_filename) image_filename)
try: move_file(low_bandwidth_filename, image_filename,
os.rename(low_bandwidth_filename, image_filename) 'EX: convert_image_to_low_bandwidth could not rename ' +
except OSError:
print('EX: convert_image_to_low_bandwidth could not rename ' +
low_bandwidth_filename + ' -> ' + image_filename) low_bandwidth_filename + ' -> ' + image_filename)
if os.path.isfile(image_filename): if os.path.isfile(image_filename):
@ -924,15 +923,13 @@ def apply_watermark_to_image(base_dir: str, nickname: str, domain: str,
if not os.path.isfile(post_image_filename + '.watermarked'): if not os.path.isfile(post_image_filename + '.watermarked'):
return False return False
if not remove_file(post_image_filename, if not erase_file(post_image_filename,
'EX: _apply_watermark_to_image unable to remove ' + 'EX: _apply_watermark_to_image unable to remove ' +
post_image_filename): post_image_filename):
return False return False
try: if not move_file(post_image_filename + '.watermarked', post_image_filename,
os.rename(post_image_filename + '.watermarked', post_image_filename) 'EX: _apply_watermark_to_image unable to rename ' +
except OSError: post_image_filename + '.watermarked'):
print('EX: _apply_watermark_to_image unable to rename ' +
post_image_filename + '.watermarked')
return False return False
return True return True

View File

@ -47,7 +47,7 @@ from data import load_string
from data import save_string from data import save_string
from data import append_string from data import append_string
from data import prepend_string from data import prepend_string
from data import remove_file from data import erase_file
def _update_feeds_outbox_index(base_dir: str, domain: str, def _update_feeds_outbox_index(base_dir: str, domain: str,
@ -754,10 +754,10 @@ def _convert_rss_to_activitypub(base_dir: str, http_prefix: str,
blog['object']['arrived']) blog['object']['arrived'])
else: else:
if os.path.isfile(filename + '.arrived'): if os.path.isfile(filename + '.arrived'):
remove_file(filename + '.arrived', erase_file(filename + '.arrived',
'EX: _convert_rss_to_activitypub ' + 'EX: _convert_rss_to_activitypub ' +
'unable to delete ' + 'unable to delete ' +
filename + '.arrived') filename + '.arrived')
# setting the url here links to the activitypub object # setting the url here links to the activitypub object
# stored locally # stored locally
@ -869,7 +869,7 @@ def run_newswire_daemon(base_dir: str, httpd,
ex_text = \ ex_text = \
'EX: run_newswire_daemon unable to delete ' + \ 'EX: run_newswire_daemon unable to delete ' + \
str(refresh_filename) str(refresh_filename)
remove_file(refresh_filename, ex_text) erase_file(refresh_filename, ex_text)
break break

View File

@ -57,7 +57,7 @@ from content import remove_script
from data import load_list from data import load_list
from data import load_string from data import load_string
from data import save_binary from data import save_binary
from data import remove_file from data import erase_file
def _remove_cdata(text: str) -> str: def _remove_cdata(text: str) -> str:
@ -1803,7 +1803,7 @@ def _add_blogs_to_newswire(base_dir: str, domain: str, newswire: {},
ex_text = \ ex_text = \
'EX: _add_blogs_to_newswire unable to delete ' + \ 'EX: _add_blogs_to_newswire unable to delete ' + \
str(newswire_moderation_filename) str(newswire_moderation_filename)
remove_file(newswire_moderation_filename, ex_text) erase_file(newswire_moderation_filename, ex_text)
def get_dict_from_newswire(session, base_dir: str, domain: str, def get_dict_from_newswire(session, base_dir: str, domain: str,

View File

@ -73,7 +73,8 @@ from inbox_receive import inbox_update_index
from gemini import blog_to_gemini from gemini import blog_to_gemini
from markdown import blog_to_markdown from markdown import blog_to_markdown
from markdown import blog_to_micron from markdown import blog_to_micron
from data import remove_file from data import erase_file
from data import move_file
def _localonly_not_local(message_json: {}, domain_full: str) -> bool: def _localonly_not_local(message_json: {}, domain_full: str) -> bool:
@ -497,10 +498,8 @@ def post_message_to_outbox(session, translate: {},
create_media_dirs(base_dir, mpath) create_media_dirs(base_dir, mpath)
media_filename = base_dir + '/' + media_path media_filename = base_dir + '/' + media_path
# move the uploaded image to its new path # move the uploaded image to its new path
try: move_file(upload_media_filename, media_filename,
os.rename(upload_media_filename, media_filename) 'EX: post_message_to_outbox unable to rename ' +
except OSError:
print('EX: post_message_to_outbox unable to rename ' +
upload_media_filename + ' -> ' + media_filename) upload_media_filename + ' -> ' + media_filename)
# convert dictionary to list if needed # convert dictionary to list if needed
if isinstance(message_json['object']['attachment'], dict): if isinstance(message_json['object']['attachment'], dict):
@ -615,9 +614,9 @@ def post_message_to_outbox(session, translate: {},
data_dir(base_dir) + '/' + \ data_dir(base_dir) + '/' + \
post_to_nickname + '@' + domain + '/.citations.txt' post_to_nickname + '@' + domain + '/.citations.txt'
if os.path.isfile(citations_filename): if os.path.isfile(citations_filename):
remove_file(citations_filename, erase_file(citations_filename,
'EX: post_message_to_outbox unable to delete ' + 'EX: post_message_to_outbox unable to delete ' +
citations_filename) citations_filename)
# The following activity types get added to the index files # The following activity types get added to the index files
indexed_activities = ( indexed_activities = (

View File

@ -96,7 +96,8 @@ from data import save_string
from data import save_flag_file from data import save_flag_file
from data import load_string from data import load_string
from data import append_string from data import append_string
from data import remove_file from data import erase_file
from data import move_file
def generate_rsa_key() -> (str, str): def generate_rsa_key() -> (str, str):
@ -705,13 +706,13 @@ def clear_person_qrcodes(base_dir: str) -> None:
qrcode_filename = \ qrcode_filename = \
acct_dir(base_dir, nickname, domain) + '/qrcode.png' acct_dir(base_dir, nickname, domain) + '/qrcode.png'
if os.path.isfile(qrcode_filename): if os.path.isfile(qrcode_filename):
remove_file(qrcode_filename, erase_file(qrcode_filename,
'EX: clear_person_qrcodes 1 ' + 'EX: clear_person_qrcodes 1 ' +
qrcode_filename) qrcode_filename)
if os.path.isfile(qrcode_filename + '.etag'): if os.path.isfile(qrcode_filename + '.etag'):
remove_file(qrcode_filename + '.etag', erase_file(qrcode_filename + '.etag',
'EX: clear_person_qrcodes 2 ' + 'EX: clear_person_qrcodes 2 ' +
qrcode_filename + '.etag') qrcode_filename + '.etag')
break break
@ -1309,10 +1310,8 @@ def _unsuspend_media_for_account(base_dir: str, account_dir: str) -> None:
media_filename = base_dir + filename media_filename = base_dir + filename
if not os.path.isfile(media_filename + '.suspended'): if not os.path.isfile(media_filename + '.suspended'):
continue continue
try: move_file(media_filename + '.suspended', media_filename,
os.rename(media_filename + '.suspended', media_filename) 'EX: unable to unsuspend media ' + media_filename)
except OSError:
print('EX: unable to unsuspend media ' + media_filename)
def reenable_account(base_dir: str, nickname: str, domain: str) -> None: def reenable_account(base_dir: str, nickname: str, domain: str) -> None:
@ -1355,10 +1354,8 @@ def _suspend_media_for_account(base_dir: str, account_dir: str) -> None:
media_filename = base_dir + filename media_filename = base_dir + filename
if not os.path.isfile(media_filename): if not os.path.isfile(media_filename):
continue continue
try: move_file(media_filename, media_filename + '.suspended',
os.rename(media_filename, media_filename + '.suspended') 'EX: unable to suspend media ' + media_filename)
except OSError:
print('EX: unable to suspend media ' + media_filename)
def suspend_account(base_dir: str, nickname: str, domain: str) -> None: def suspend_account(base_dir: str, nickname: str, domain: str) -> None:
@ -1387,12 +1384,12 @@ def suspend_account(base_dir: str, nickname: str, domain: str) -> None:
account_dir = acct_dir(base_dir, nickname, domain) account_dir = acct_dir(base_dir, nickname, domain)
salt_filename = account_dir + '/.salt' salt_filename = account_dir + '/.salt'
if os.path.isfile(salt_filename): if os.path.isfile(salt_filename):
remove_file(salt_filename, erase_file(salt_filename,
'EX: suspend_account unable to delete ' + salt_filename) 'EX: suspend_account unable to delete ' + salt_filename)
token_filename = acct_dir(base_dir, nickname, domain) + '/.token' token_filename = acct_dir(base_dir, nickname, domain) + '/.token'
if os.path.isfile(token_filename): if os.path.isfile(token_filename):
remove_file(token_filename, erase_file(token_filename,
'EX: suspend_account unable to delete 2 ' + token_filename) 'EX: suspend_account unable to delete 2 ' + token_filename)
suspended_filename = data_dir(base_dir) + '/suspended.txt' suspended_filename = data_dir(base_dir) + '/suspended.txt'
if os.path.isfile(suspended_filename): if os.path.isfile(suspended_filename):
@ -1504,8 +1501,8 @@ def _remove_account_media(base_dir: str, nickname: str, domain: str) -> None:
media_filename = base_dir + filename media_filename = base_dir + filename
if not os.path.isfile(media_filename): if not os.path.isfile(media_filename):
continue continue
remove_file(media_filename, erase_file(media_filename,
'EX: unable to remove media ' + media_filename) 'EX: unable to remove media ' + media_filename)
def remove_account(base_dir: str, nickname: str, def remove_account(base_dir: str, nickname: str,
@ -1543,28 +1540,28 @@ def remove_account(base_dir: str, nickname: str,
if os.path.isdir(handle_dir): if os.path.isdir(handle_dir):
shutil.rmtree(handle_dir, ignore_errors=False) shutil.rmtree(handle_dir, ignore_errors=False)
if os.path.isfile(handle_dir + '.json'): if os.path.isfile(handle_dir + '.json'):
remove_file(handle_dir + '.json', erase_file(handle_dir + '.json',
'EX: remove_account unable to delete ' + 'EX: remove_account unable to delete ' +
handle_dir + '.json') handle_dir + '.json')
if os.path.isfile(base_dir + '/wfendpoints/' + handle + '.json'): if os.path.isfile(base_dir + '/wfendpoints/' + handle + '.json'):
remove_file(base_dir + '/wfendpoints/' + handle + '.json', erase_file(base_dir + '/wfendpoints/' + handle + '.json',
'EX: remove_account unable to delete ' + 'EX: remove_account unable to delete ' +
base_dir + '/wfendpoints/' + handle + '.json') base_dir + '/wfendpoints/' + handle + '.json')
if os.path.isfile(base_dir + '/keys/private/' + handle + '.key'): if os.path.isfile(base_dir + '/keys/private/' + handle + '.key'):
remove_file(base_dir + '/keys/private/' + handle + '.key', erase_file(base_dir + '/keys/private/' + handle + '.key',
'EX: remove_account unable to delete ' + 'EX: remove_account unable to delete ' +
base_dir + '/keys/private/' + handle + '.key') base_dir + '/keys/private/' + handle + '.key')
if os.path.isfile(base_dir + '/keys/public/' + handle + '.pem'): if os.path.isfile(base_dir + '/keys/public/' + handle + '.pem'):
remove_file(base_dir + '/keys/public/' + handle + '.pem', erase_file(base_dir + '/keys/public/' + handle + '.pem',
'EX: remove_account unable to delete ' + 'EX: remove_account unable to delete ' +
base_dir + '/keys/public/' + handle + '.pem') base_dir + '/keys/public/' + handle + '.pem')
if os.path.isdir(base_dir + '/sharefiles/' + nickname): if os.path.isdir(base_dir + '/sharefiles/' + nickname):
shutil.rmtree(base_dir + '/sharefiles/' + nickname, shutil.rmtree(base_dir + '/sharefiles/' + nickname,
ignore_errors=False) ignore_errors=False)
if os.path.isfile(base_dir + '/wfdeactivated/' + handle + '.json'): if os.path.isfile(base_dir + '/wfdeactivated/' + handle + '.json'):
remove_file(base_dir + '/wfdeactivated/' + handle + '.json', erase_file(base_dir + '/wfdeactivated/' + handle + '.json',
'EX: remove_account unable to delete ' + 'EX: remove_account unable to delete ' +
base_dir + '/wfdeactivated/' + handle + '.json') base_dir + '/wfdeactivated/' + handle + '.json')
if os.path.isdir(base_dir + '/sharefilesdeactivated/' + nickname): if os.path.isdir(base_dir + '/sharefilesdeactivated/' + nickname):
shutil.rmtree(base_dir + '/sharefilesdeactivated/' + nickname, shutil.rmtree(base_dir + '/sharefilesdeactivated/' + nickname,
ignore_errors=False) ignore_errors=False)

109
posts.py
View File

@ -150,7 +150,8 @@ from data import save_string
from data import save_flag_file from data import save_flag_file
from data import append_string from data import append_string
from data import prepend_string from data import prepend_string
from data import remove_file from data import erase_file
from data import move_file
def convert_post_content_to_html(message_json: {}) -> None: def convert_post_content_to_html(message_json: {}) -> None:
@ -1054,16 +1055,16 @@ def save_post_to_box(base_dir: str, http_prefix: str, post_id: str,
'/postcache/').replace('.json', '') '/postcache/').replace('.json', '')
ssml_filename = base_filename + '.ssml' ssml_filename = base_filename + '.ssml'
if os.path.isfile(ssml_filename): if os.path.isfile(ssml_filename):
remove_file(ssml_filename, erase_file(ssml_filename,
'EX: ' + 'EX: ' +
'save_post_to_box unable to delete ssml file ' + 'save_post_to_box unable to delete ssml file ' +
ssml_filename) ssml_filename)
html_filename = base_filename + '.html' html_filename = base_filename + '.html'
if os.path.isfile(html_filename): if os.path.isfile(html_filename):
remove_file(html_filename, erase_file(html_filename,
'EX: ' + 'EX: ' +
'save_post_to_box unable to delete html file ' + 'save_post_to_box unable to delete html file ' +
html_filename) html_filename)
return filename return filename
@ -2167,8 +2168,8 @@ def undo_pinned_post(base_dir: str, nickname: str, domain: str) -> None:
pinned_filename = account_dir + '/pinToProfile.txt' pinned_filename = account_dir + '/pinToProfile.txt'
if not os.path.isfile(pinned_filename): if not os.path.isfile(pinned_filename):
return return
remove_file(pinned_filename, erase_file(pinned_filename,
'EX: undo_pinned_post unable to delete ' + pinned_filename) 'EX: undo_pinned_post unable to delete ' + pinned_filename)
def get_pinned_post_as_json(base_dir: str, http_prefix: str, def get_pinned_post_as_json(base_dir: str, http_prefix: str,
@ -5111,9 +5112,9 @@ def _expire_announce_cache_for_person(base_dir: str,
last_modified = file_last_modified(full_filename) last_modified = file_last_modified(full_filename)
# get time difference # get time difference
if not valid_post_date(last_modified, max_age_days, False): if not valid_post_date(last_modified, max_age_days, False):
remove_file(full_filename, erase_file(full_filename,
'EX: unable to delete from announce cache ' + 'EX: unable to delete from announce cache ' +
full_filename) full_filename)
expired_post_count += 1 expired_post_count += 1
return expired_post_count return expired_post_count
@ -5141,9 +5142,9 @@ def _expire_conversations_for_person(base_dir: str,
last_modified = file_last_modified(full_filename) last_modified = file_last_modified(full_filename)
# get time difference # get time difference
if not valid_post_date(last_modified, max_age_days, False): if not valid_post_date(last_modified, max_age_days, False):
remove_file(full_filename, erase_file(full_filename,
'EX: unable to delete from conversations ' + 'EX: unable to delete from conversations ' +
full_filename) full_filename)
expired_post_count += 1 expired_post_count += 1
return expired_post_count return expired_post_count
@ -5168,9 +5169,9 @@ def _expire_posts_cache_for_person(base_dir: str,
last_modified = file_last_modified(full_filename) last_modified = file_last_modified(full_filename)
# get time difference # get time difference
if not valid_post_date(last_modified, max_age_days, False): if not valid_post_date(last_modified, max_age_days, False):
remove_file(full_filename, erase_file(full_filename,
'EX: unable to delete from post cache ' + 'EX: unable to delete from post cache ' +
full_filename) full_filename)
expired_post_count += 1 expired_post_count += 1
return expired_post_count return expired_post_count
@ -5469,9 +5470,9 @@ def set_post_expiry_keep_dms(base_dir: str, nickname: str, domain: str,
acct_handle_dir(base_dir, handle) + '/.expire_posts_dms' acct_handle_dir(base_dir, handle) + '/.expire_posts_dms'
if keep_dms: if keep_dms:
if os.path.isfile(expire_dms_filename): if os.path.isfile(expire_dms_filename):
remove_file(expire_dms_filename, erase_file(expire_dms_filename,
'EX: unable to write set_post_expiry_keep_dms False ' + 'EX: unable to write set_post_expiry_keep_dms False ' +
expire_dms_filename) expire_dms_filename)
return return
save_flag_file(expire_dms_filename, save_flag_file(expire_dms_filename,
'EX: unable to write set_post_expiry_keep_dms True ' + 'EX: unable to write set_post_expiry_keep_dms True ' +
@ -5615,9 +5616,9 @@ def archive_posts_for_person(http_prefix: str, nickname: str, domain: str,
if not os.path.isfile(full_original_filename): if not os.path.isfile(full_original_filename):
# if the original file doesn't exist (was remotely deleted by # if the original file doesn't exist (was remotely deleted by
# its author) then remove the corresponding edits # its author) then remove the corresponding edits
if remove_file(full_filename, if erase_file(full_filename,
'EX: unable to remove ' + ext_name + ' file ' + 'EX: unable to remove ' + ext_name + ' file ' +
full_filename): full_filename):
edits_removed_ctr += 1 edits_removed_ctr += 1
else: else:
continue continue
@ -5660,19 +5661,16 @@ def archive_posts_for_person(http_prefix: str, nickname: str, domain: str,
continue continue
if archive_dir: if archive_dir:
archive_path = os.path.join(archive_dir, edit_filename) archive_path = os.path.join(archive_dir, edit_filename)
try: ex_text = \
os.rename(file_path, archive_path) 'EX: archive_posts_for_person unable to archive ' + \
ext_name + ' ' + file_path + ' -> ' + archive_path
if move_file(file_path, archive_path, ex_text):
remove_edits_ctr += 1 remove_edits_ctr += 1
except OSError:
print('EX: ' +
'archive_posts_for_person unable to archive ' +
ext_name + ' ' + file_path + ' -> ' +
archive_path)
else: else:
if remove_file(edit_filename, ex_text = \
'EX: archive_posts_for_person ' + 'EX: archive_posts_for_person unable to delete ' + \
'unable to delete ' + ext_name + ' ' + edit_filename
ext_name + ' ' + edit_filename): if erase_file(edit_filename, ex_text):
remove_edits_ctr += 1 remove_edits_ctr += 1
if archive_dir: if archive_dir:
print('Archived ' + str(remove_edits_ctr) + ' ' + boxname + print('Archived ' + str(remove_edits_ctr) + ' ' + boxname +
@ -5724,10 +5722,8 @@ def archive_posts_for_person(http_prefix: str, nickname: str, domain: str,
continue continue
if archive_dir: if archive_dir:
archive_path = os.path.join(archive_dir, post_filename) archive_path = os.path.join(archive_dir, post_filename)
try: move_file(file_path, archive_path,
os.rename(file_path, archive_path) 'EX: archive_posts_for_person unable to archive ' +
except OSError:
print('EX: archive_posts_for_person unable to archive ' +
file_path + ' -> ' + archive_path) file_path + ' -> ' + archive_path)
extensions = ( extensions = (
@ -5737,25 +5733,18 @@ def archive_posts_for_person(http_prefix: str, nickname: str, domain: str,
for ext in extensions: for ext in extensions:
ext_path = file_path.replace('.json', '.' + ext) ext_path = file_path.replace('.json', '.' + ext)
if os.path.isfile(ext_path): if os.path.isfile(ext_path):
try: new_ext_path = archive_path.replace('.json', '.' + ext)
os.rename(ext_path, move_file(ext_path, new_ext_path,
archive_path.replace('.json', '.' + ext)) 'EX: unable to archive file ' + ext_path +
except OSError: ' -> ' + new_ext_path)
print('EX: unable to archive file ' + ext_path +
' -> ' +
archive_path.replace('.json', '.' + ext))
continue continue
ext_path = file_path.replace('.json', '.json.' + ext) ext_path = file_path.replace('.json', '.json.' + ext)
if os.path.isfile(ext_path): if os.path.isfile(ext_path):
try: new_ext_path = \
os.rename(ext_path, archive_path.replace('.json', '.json.' + ext)
archive_path.replace('.json', move_file(ext_path, new_ext_path,
'.json.' + ext)) 'EX: unable to archive file ' + ext_path +
except OSError: ' -> ' + new_ext_path)
print('EX: unable to archive file ' + ext_path +
' -> ' +
archive_path.replace('.json',
'.json.' + ext))
else: else:
delete_post(base_dir, http_prefix, nickname, domain, delete_post(base_dir, http_prefix, nickname, domain,
@ -5766,9 +5755,9 @@ def archive_posts_for_person(http_prefix: str, nickname: str, domain: str,
os.path.join(post_cache_dir, post_filename) os.path.join(post_cache_dir, post_filename)
post_cache_filename = post_cache_filename.replace('.json', '.html') post_cache_filename = post_cache_filename.replace('.json', '.html')
if os.path.isfile(post_cache_filename): if os.path.isfile(post_cache_filename):
remove_file(post_cache_filename, erase_file(post_cache_filename,
'EX: archive_posts_for_person unable to delete ' + 'EX: archive_posts_for_person unable to delete ' +
post_cache_filename) post_cache_filename)
no_of_posts -= 1 no_of_posts -= 1
remove_ctr += 1 remove_ctr += 1

View File

@ -40,7 +40,7 @@ from auth import create_basic_auth_header
from posts import get_person_box from posts import get_person_box
from data import load_list from data import load_list
from data import save_string from data import save_string
from data import remove_file from data import erase_file
# the maximum number of reactions from individual actors which can be # the maximum number of reactions from individual actors which can be
# added to a post. Hence an adversary can't bombard you with sockpuppet # added to a post. Hence an adversary can't bombard you with sockpuppet
@ -547,9 +547,9 @@ def update_reaction_collection(recent_posts_cache: {},
domain, post_json_object) domain, post_json_object)
if cached_post_filename: if cached_post_filename:
if os.path.isfile(cached_post_filename): if os.path.isfile(cached_post_filename):
remove_file(cached_post_filename, erase_file(cached_post_filename,
'EX: update_reaction_collection unable to delete ' + 'EX: update_reaction_collection unable to delete ' +
cached_post_filename) cached_post_filename)
obj = post_json_object obj = post_json_object
if has_object_dict(post_json_object): if has_object_dict(post_json_object):
@ -719,7 +719,7 @@ def undo_reaction_collection_entry(recent_posts_cache: {},
'EX: undo_reaction_collection_entry ' + \ 'EX: undo_reaction_collection_entry ' + \
'unable to delete cached post ' + \ 'unable to delete cached post ' + \
str(cached_post_filename) str(cached_post_filename)
remove_file(cached_post_filename, ex_text) erase_file(cached_post_filename, ex_text)
remove_post_from_cache(post_json_object, recent_posts_cache) remove_post_from_cache(post_json_object, recent_posts_cache)
if not post_json_object.get('type'): if not post_json_object.get('type'):

View File

@ -24,7 +24,7 @@ from utils import get_domain_from_actor
from utils import load_json from utils import load_json
from data import load_string from data import load_string
from data import save_string from data import save_string
from data import remove_file from data import erase_file
def get_moved_accounts(base_dir: str, nickname: str, domain: str, def get_moved_accounts(base_dir: str, nickname: str, domain: str,
@ -307,9 +307,9 @@ def update_moved_actors(base_dir: str, debug: bool) -> None:
moved_accounts_filename = data_dir(base_dir) + '/actors_moved.txt' moved_accounts_filename = data_dir(base_dir) + '/actors_moved.txt'
if not moved_str: if not moved_str:
if os.path.isfile(moved_accounts_filename): if os.path.isfile(moved_accounts_filename):
remove_file(moved_accounts_filename, erase_file(moved_accounts_filename,
'EX: update_moved_actors unable to remove ' + 'EX: update_moved_actors unable to remove ' +
moved_accounts_filename) moved_accounts_filename)
return return
save_string(moved_str, moved_accounts_filename, save_string(moved_str, moved_accounts_filename,

View File

@ -18,7 +18,7 @@ from utils import get_config_param
from status import get_status_number from status import get_status_number
from data import load_list from data import load_list
from data import save_string from data import save_string
from data import remove_file from data import erase_file
def _clear_role_status(base_dir: str, role: str) -> None: def _clear_role_status(base_dir: str, role: str) -> None:
@ -316,8 +316,8 @@ def set_roles_from_list(base_dir: str, domain: str, admin_nickname: str,
if not fields.get(list_name): if not fields.get(list_name):
if os.path.isfile(roles_filename): if os.path.isfile(roles_filename):
_clear_role_status(base_dir, role_name) _clear_role_status(base_dir, role_name)
remove_file(roles_filename, erase_file(roles_filename,
'EX: failed to remove roles file ' + roles_filename) 'EX: failed to remove roles file ' + roles_filename)
return return
_clear_role_status(base_dir, role_name) _clear_role_status(base_dir, role_name)
if ',' in fields[list_name]: if ',' in fields[list_name]:

View File

@ -26,7 +26,8 @@ from threads import begin_thread
from siteactive import save_unavailable_sites from siteactive import save_unavailable_sites
from data import save_string from data import save_string
from data import load_list from data import load_list
from data import remove_file from data import erase_file
from data import move_file
def _update_post_schedule(base_dir: str, handle: str, httpd, def _update_post_schedule(base_dir: str, handle: str, httpd,
@ -69,7 +70,7 @@ def _update_post_schedule(base_dir: str, handle: str, httpd,
'EX: ' + \ 'EX: ' + \
'_update_post_schedule unable to delete ' + \ '_update_post_schedule unable to delete ' + \
str(post_filename) str(post_filename)
remove_file(post_filename, ex_text) erase_file(post_filename, ex_text)
continue continue
# create the new index file # create the new index file
index_lines.append(line) index_lines.append(line)
@ -176,16 +177,14 @@ def _update_post_schedule(base_dir: str, handle: str, httpd,
ex_text = \ ex_text = \
'EX: _update_post_schedule unable to delete ' + \ 'EX: _update_post_schedule unable to delete ' + \
str(post_filename) str(post_filename)
remove_file(post_filename, ex_text) erase_file(post_filename, ex_text)
continue continue
# move to the outbox # move to the outbox
outbox_post_filename = \ outbox_post_filename = \
post_filename.replace('/scheduled/', '/outbox/') post_filename.replace('/scheduled/', '/outbox/')
try: move_file(post_filename, outbox_post_filename,
os.rename(post_filename, outbox_post_filename) 'EX: _update_post_schedule unable to rename ' +
except OSError:
print('EX: _update_post_schedule unable to rename ' +
post_filename + ' -> ' + outbox_post_filename) post_filename + ' -> ' + outbox_post_filename)
print('Scheduled post sent ' + post_id) print('Scheduled post sent ' + post_id)
@ -261,9 +260,9 @@ def remove_scheduled_posts(base_dir: str, nickname: str, domain: str) -> None:
schedule_index_filename = \ schedule_index_filename = \
acct_dir(base_dir, nickname, domain) + '/schedule.index' acct_dir(base_dir, nickname, domain) + '/schedule.index'
if os.path.isfile(schedule_index_filename): if os.path.isfile(schedule_index_filename):
remove_file(schedule_index_filename, erase_file(schedule_index_filename,
'EX: remove_scheduled_posts unable to delete ' + 'EX: remove_scheduled_posts unable to delete ' +
schedule_index_filename) schedule_index_filename)
# remove the scheduled posts # remove the scheduled posts
scheduled_dir = acct_dir(base_dir, nickname, domain) + '/scheduled' scheduled_dir = acct_dir(base_dir, nickname, domain) + '/scheduled'
if not os.path.isdir(scheduled_dir): if not os.path.isdir(scheduled_dir):
@ -272,6 +271,6 @@ def remove_scheduled_posts(base_dir: str, nickname: str, domain: str) -> None:
file_path = os.path.join(scheduled_dir, scheduled_post_filename) file_path = os.path.join(scheduled_dir, scheduled_post_filename)
if not os.path.isfile(file_path): if not os.path.isfile(file_path):
continue continue
remove_file(file_path, erase_file(file_path,
'EX: remove_scheduled_posts unable to delete ' + 'EX: remove_scheduled_posts unable to delete ' +
file_path) file_path)

View File

@ -30,7 +30,7 @@ from data import append_string
from data import save_string from data import save_string
from data import save_binary from data import save_binary
from data import load_binary from data import load_binary
from data import remove_file from data import erase_file
def create_session(proxy_type: str): def create_session(proxy_type: str):
@ -847,9 +847,9 @@ def download_image(session, url: str, image_filename: str, debug: bool,
str(result.status_code)) str(result.status_code))
# remove partial download # remove partial download
if os.path.isfile(image_filename): if os.path.isfile(image_filename):
remove_file(image_filename, erase_file(image_filename,
'EX: download_image unable to delete ' + 'EX: download_image unable to delete ' +
image_filename) image_filename)
else: else:
media_binary = result.content media_binary = result.content
if binary_is_image(image_filename, media_binary): if binary_is_image(image_filename, media_binary):

View File

@ -62,7 +62,7 @@ from cache import remove_person_from_cache
from cache import store_person_in_cache from cache import store_person_in_cache
from data import save_string from data import save_string
from data import load_string from data import load_string
from data import remove_file from data import erase_file
def _load_dfc_ids(base_dir: str, system_language: str, def _load_dfc_ids(base_dir: str, system_language: str,
@ -172,9 +172,9 @@ def remove_shared_item2(base_dir: str, nickname: str, domain: str,
continue continue
if not os.path.isfile(item_idfile + '.' + ext): if not os.path.isfile(item_idfile + '.' + ext):
continue continue
remove_file(item_idfile + '.' + ext, erase_file(item_idfile + '.' + ext,
'EX: remove_shared_item unable to delete ' + 'EX: remove_shared_item unable to delete ' +
item_idfile + '.' + ext) item_idfile + '.' + ext)
# remove the item itself # remove the item itself
del shares_json[item_id] del shares_json[item_id]
save_json(shares_json, shares_filename) save_json(shares_json, shares_filename)
@ -403,7 +403,7 @@ def add_share(base_dir: str,
ex_text = \ ex_text = \
'EX: add_share unable to delete ' + \ 'EX: add_share unable to delete ' + \
str(image_filename) str(image_filename)
remove_file(image_filename, ex_text) erase_file(image_filename, ex_text)
image_url = \ image_url = \
http_prefix + '://' + domain_full + \ http_prefix + '://' + domain_full + \
'/sharefiles/' + nickname + '/' + item_id + '.' + ext '/sharefiles/' + nickname + '/' + item_id + '.' + ext
@ -505,9 +505,9 @@ def _expire_shares_for_account(base_dir: str, nickname: str, domain: str,
for ext in formats: for ext in formats:
if not os.path.isfile(item_idfile + '.' + ext): if not os.path.isfile(item_idfile + '.' + ext):
continue continue
remove_file(item_idfile + '.' + ext, erase_file(item_idfile + '.' + ext,
'EX: _expire_shares_for_account unable to delete ' + 'EX: _expire_shares_for_account unable to delete ' +
item_idfile + '.' + ext) item_idfile + '.' + ext)
save_json(shares_json, shares_filename) save_json(shares_json, shares_filename)
return removed_ctr return removed_ctr

View File

@ -247,7 +247,7 @@ from blog import html_blog_post_gemini_links
from data import load_list from data import load_list
from data import load_string from data import load_string
from data import save_string from data import save_string
from data import remove_file from data import erase_file
TEST_SERVER_GROUP_RUNNING = False TEST_SERVER_GROUP_RUNNING = False
@ -4353,7 +4353,7 @@ def _test_json_string() -> None:
assert received_json['content'] == message_str assert received_json['content'] == message_str
encoded_str = json.dumps(test_json, ensure_ascii=False) encoded_str = json.dumps(test_json, ensure_ascii=False)
assert message_str in encoded_str assert message_str in encoded_str
remove_file(filename, 'EX: _test_json_string') erase_file(filename, 'EX: _test_json_string')
def _test_save_load_json(): def _test_save_load_json():
@ -4364,7 +4364,7 @@ def _test_save_load_json():
} }
test_filename = '.epicyon_tests_test_save_load_json.json' test_filename = '.epicyon_tests_test_save_load_json.json'
if os.path.isfile(test_filename): if os.path.isfile(test_filename):
remove_file(test_filename, 'EX: _test_save_load_json 1') erase_file(test_filename, 'EX: _test_save_load_json 1')
assert save_json(test_json, test_filename) assert save_json(test_json, test_filename)
assert os.path.isfile(test_filename) assert os.path.isfile(test_filename)
test_load_json = load_json(test_filename) test_load_json = load_json(test_filename)
@ -4373,7 +4373,7 @@ def _test_save_load_json():
assert test_load_json.get('param2') assert test_load_json.get('param2')
assert test_load_json['param1'] == 3 assert test_load_json['param1'] == 3
assert test_load_json['param2'] == '"Crème brûlée यह एक परीक्षण ह"' assert test_load_json['param2'] == '"Crème brûlée यह एक परीक्षण ह"'
remove_file(test_filename, 'EX: _test_save_load_json 2') erase_file(test_filename, 'EX: _test_save_load_json 2')
def _test_theme(): def _test_theme():
@ -4658,7 +4658,7 @@ def _test_danger_svg(base_dir: str) -> None:
with open(svg_image_filename, 'rb') as fp_svg: with open(svg_image_filename, 'rb') as fp_svg:
cached_content = fp_svg.read().decode() cached_content = fp_svg.read().decode()
remove_file(svg_image_filename, 'EX: _test_danger_svg') erase_file(svg_image_filename, 'EX: _test_danger_svg')
assert cached_content == svg_clean assert cached_content == svg_clean
assert not scan_themes_for_scripts(base_dir) assert not scan_themes_for_scripts(base_dir)

View File

@ -11,7 +11,7 @@ import os
from shutil import copyfile from shutil import copyfile
from utils import data_dir from utils import data_dir
from data import load_string from data import load_string
from data import remove_file from data import erase_file
def text_mode_browser(ua_str: str) -> bool: def text_mode_browser(ua_str: str) -> bool:
@ -93,9 +93,9 @@ def set_text_mode_theme(base_dir: str, name: str) -> None:
text_mode_banner_filename = \ text_mode_banner_filename = \
base_dir + '/theme/' + name + '/banner.txt' base_dir + '/theme/' + name + '/banner.txt'
if os.path.isfile(dir_str + '/banner.txt'): if os.path.isfile(dir_str + '/banner.txt'):
remove_file(dir_str + '/banner.txt', erase_file(dir_str + '/banner.txt',
'EX: set_text_mode_theme unable to delete ' + 'EX: set_text_mode_theme unable to delete ' +
dir_str + '/banner.txt') dir_str + '/banner.txt')
if os.path.isfile(text_mode_banner_filename): if os.path.isfile(text_mode_banner_filename):
try: try:
copyfile(text_mode_banner_filename, dir_str + '/banner.txt') copyfile(text_mode_banner_filename, dir_str + '/banner.txt')

View File

@ -31,7 +31,7 @@ from textmode import set_text_mode_theme
from data import load_string from data import load_string
from data import save_string from data import save_string
from data import save_flag_file from data import save_flag_file
from data import remove_file from data import erase_file
def import_theme(base_dir: str, filename: str) -> bool: def import_theme(base_dir: str, filename: str) -> bool:
@ -108,7 +108,7 @@ def export_theme(base_dir: str, theme: str) -> bool:
if os.path.isfile(export_filename): if os.path.isfile(export_filename):
ex_text = \ ex_text = \
'EX: export_theme unable to delete ' + str(export_filename) 'EX: export_theme unable to delete ' + str(export_filename)
remove_file(export_filename, ex_text) erase_file(export_filename, ex_text)
try: try:
make_archive(base_dir + '/exports/' + theme, 'zip', theme_dir) make_archive(base_dir + '/exports/' + theme, 'zip', theme_dir)
except BaseException: except BaseException:
@ -265,9 +265,9 @@ def _remove_theme(base_dir: str):
for filename in theme_files: for filename in theme_files:
if not os.path.isfile(base_dir + '/' + filename): if not os.path.isfile(base_dir + '/' + filename):
continue continue
remove_file(base_dir + '/' + filename, erase_file(base_dir + '/' + filename,
'EX: _remove_theme unable to delete ' + 'EX: _remove_theme unable to delete ' +
base_dir + '/' + filename) base_dir + '/' + filename)
def set_css_param(css: str, param: str, value: str) -> str: def set_css_param(css: str, param: str, value: str) -> str:
@ -469,9 +469,9 @@ def disable_grayscale(base_dir: str) -> None:
filename + ' [ex]') filename + ' [ex]')
grayscale_filename = data_dir(base_dir) + '/.grayscale' grayscale_filename = data_dir(base_dir) + '/.grayscale'
if os.path.isfile(grayscale_filename): if os.path.isfile(grayscale_filename):
remove_file(grayscale_filename, erase_file(grayscale_filename,
'EX: disable_grayscale unable to delete ' + 'EX: disable_grayscale unable to delete ' +
grayscale_filename) grayscale_filename)
def _set_dyslexic_font(base_dir: str) -> bool: def _set_dyslexic_font(base_dir: str) -> bool:
@ -560,9 +560,9 @@ def reset_theme_designer_settings(base_dir: str) -> None:
""" """
custom_variables_file = data_dir(base_dir) + '/theme.json' custom_variables_file = data_dir(base_dir) + '/theme.json'
if os.path.isfile(custom_variables_file): if os.path.isfile(custom_variables_file):
if remove_file(custom_variables_file, if erase_file(custom_variables_file,
'EX: ' + 'EX: ' +
'unable to remove theme designer settings on reset'): 'unable to remove theme designer settings on reset'):
print('Theme designer settings were reset') print('Theme designer settings were reset')
@ -703,11 +703,11 @@ def _set_theme_images(base_dir: str, name: str) -> None:
# so remove any existing file # so remove any existing file
if os.path.isfile(dir_str + '/' + if os.path.isfile(dir_str + '/' +
background_type + '-background.' + ext): background_type + '-background.' + ext):
remove_file(dir_str + '/' + erase_file(dir_str + '/' +
background_type + '-background.' + ext, background_type + '-background.' + ext,
'EX: _set_theme_images unable to delete ' + 'EX: _set_theme_images unable to delete ' +
dir_str + '/' + dir_str + '/' +
background_type + '-background.' + ext) background_type + '-background.' + ext)
if os.path.isfile(profile_image_filename) and \ if os.path.isfile(profile_image_filename) and \
os.path.isfile(banner_filename): os.path.isfile(banner_filename):
@ -739,9 +739,9 @@ def _set_theme_images(base_dir: str, name: str) -> None:
account_dir + '/left_col_image.png') account_dir + '/left_col_image.png')
elif os.path.isfile(account_dir + elif os.path.isfile(account_dir +
'/left_col_image.png'): '/left_col_image.png'):
remove_file(account_dir + '/left_col_image.png', erase_file(account_dir + '/left_col_image.png',
'EX: _set_theme_images unable to delete ' + 'EX: _set_theme_images unable to delete ' +
account_dir + '/left_col_image.png') account_dir + '/left_col_image.png')
except OSError: except OSError:
print('EX: _set_theme_images unable to copy ' + print('EX: _set_theme_images unable to copy ' +
left_col_image_filename) left_col_image_filename)
@ -753,10 +753,10 @@ def _set_theme_images(base_dir: str, name: str) -> None:
else: else:
if os.path.isfile(account_dir + if os.path.isfile(account_dir +
'/right_col_image.png'): '/right_col_image.png'):
remove_file(account_dir + '/right_col_image.png', erase_file(account_dir + '/right_col_image.png',
'EX: _set_theme_images ' + 'EX: _set_theme_images ' +
'unable to delete ' + 'unable to delete ' +
account_dir + '/right_col_image.png') account_dir + '/right_col_image.png')
except OSError: except OSError:
print('EX: _set_theme_images unable to copy ' + print('EX: _set_theme_images unable to copy ' +
right_col_image_filename) right_col_image_filename)
@ -780,8 +780,8 @@ def set_news_avatar(base_dir: str, name: str,
filename = base_dir + '/cache/avatars/' + avatar_filename filename = base_dir + '/cache/avatars/' + avatar_filename
if os.path.isfile(filename): if os.path.isfile(filename):
remove_file(filename, erase_file(filename,
'EX: set_news_avatar unable to delete ' + filename) 'EX: set_news_avatar unable to delete ' + filename)
if os.path.isdir(base_dir + '/cache/avatars'): if os.path.isdir(base_dir + '/cache/avatars'):
copyfile(new_filename, filename) copyfile(new_filename, filename)
account_dir = acct_dir(base_dir, nickname, domain) account_dir = acct_dir(base_dir, nickname, domain)

View File

@ -27,7 +27,7 @@ from data import save_string
from data import save_flag_file from data import save_flag_file
from data import load_string from data import load_string
from data import append_string from data import append_string
from data import remove_file from data import erase_file
VALID_HASHTAG_CHARS = \ VALID_HASHTAG_CHARS = \
set('_0123456789' + set('_0123456789' +
@ -1799,7 +1799,7 @@ def _remove_attachment(base_dir: str, http_prefix: str,
ex_text = \ ex_text = \
'EX: _remove_attachment unable to delete media file ' + \ 'EX: _remove_attachment unable to delete media file ' + \
str(media_filename) str(media_filename)
remove_file(media_filename, ex_text) erase_file(media_filename, ex_text)
# remove from the log file # remove from the log file
account_dir: str = acct_dir(base_dir, nickname, domain) account_dir: str = acct_dir(base_dir, nickname, domain)
@ -1822,7 +1822,7 @@ def _remove_attachment(base_dir: str, http_prefix: str,
ex_text = \ ex_text = \
'EX: _remove_attachment unable to delete media transcript ' + \ 'EX: _remove_attachment unable to delete media transcript ' + \
str(media_filename) + '.vtt' str(media_filename) + '.vtt'
remove_file(media_filename + '.vtt', ex_text) erase_file(media_filename + '.vtt', ex_text)
# remove the etag # remove the etag
etag_filename: str = media_filename + '.etag' etag_filename: str = media_filename + '.etag'
@ -1830,7 +1830,7 @@ def _remove_attachment(base_dir: str, http_prefix: str,
ex_text = \ ex_text = \
'EX: _remove_attachment unable to delete etag file ' + \ 'EX: _remove_attachment unable to delete etag file ' + \
str(etag_filename) str(etag_filename)
remove_file(etag_filename, ex_text) erase_file(etag_filename, ex_text)
post_json['attachment']: list[dict] = [] post_json['attachment']: list[dict] = []
@ -1928,7 +1928,7 @@ def _delete_post_remove_replies(base_dir: str, nickname: str, domain: str,
ex_text = \ ex_text = \
'EX: _delete_post_remove_replies ' + \ 'EX: _delete_post_remove_replies ' + \
'unable to delete replies file ' + str(replies_filename) 'unable to delete replies file ' + str(replies_filename)
remove_file(replies_filename, ex_text) erase_file(replies_filename, ex_text)
def _is_bookmarked(base_dir: str, nickname: str, domain: str, def _is_bookmarked(base_dir: str, nickname: str, domain: str,
@ -1989,7 +1989,7 @@ def delete_cached_html(base_dir: str, nickname: str, domain: str,
ex_text = \ ex_text = \
'EX: delete_cached_html unable to delete cached post file ' + \ 'EX: delete_cached_html unable to delete cached post file ' + \
str(cached_post_filename) str(cached_post_filename)
remove_file(cached_post_filename, ex_text) erase_file(cached_post_filename, ex_text)
cached_post_filename = cached_post_filename.replace('.html', '.ssml') cached_post_filename = cached_post_filename.replace('.html', '.ssml')
if os.path.isfile(cached_post_filename): if os.path.isfile(cached_post_filename):
@ -1997,7 +1997,7 @@ def delete_cached_html(base_dir: str, nickname: str, domain: str,
'EX: ' + \ 'EX: ' + \
'delete_cached_html unable to delete cached ssml post file ' + \ 'delete_cached_html unable to delete cached ssml post file ' + \
str(cached_post_filename) str(cached_post_filename)
remove_file(cached_post_filename, ex_text) erase_file(cached_post_filename, ex_text)
cached_post_filename = \ cached_post_filename = \
cached_post_filename.replace('/postcache/', '/outbox/') cached_post_filename.replace('/postcache/', '/outbox/')
@ -2006,7 +2006,7 @@ def delete_cached_html(base_dir: str, nickname: str, domain: str,
'EX: delete_cached_html ' + \ 'EX: delete_cached_html ' + \
'unable to delete cached outbox ssml post file ' + \ 'unable to delete cached outbox ssml post file ' + \
str(cached_post_filename) str(cached_post_filename)
remove_file(cached_post_filename, ex_text) erase_file(cached_post_filename, ex_text)
def _remove_post_id_from_tag_index(tag_index_filename: str, def _remove_post_id_from_tag_index(tag_index_filename: str,
@ -2029,7 +2029,7 @@ def _remove_post_id_from_tag_index(tag_index_filename: str,
# if there are no lines then remove the hashtag file # if there are no lines then remove the hashtag file
ex_text = 'EX: _delete_hashtags_on_post ' + \ ex_text = 'EX: _delete_hashtags_on_post ' + \
'unable to delete tag index ' + str(tag_index_filename) 'unable to delete tag index ' + str(tag_index_filename)
remove_file(tag_index_filename, ex_text) erase_file(tag_index_filename, ex_text)
else: else:
# write the new hashtag index without the given post in it # write the new hashtag index without the given post in it
save_string(newlines, tag_index_filename, save_string(newlines, tag_index_filename,
@ -2121,11 +2121,11 @@ def _delete_conversation_post(base_dir: str, nickname: str, domain: str,
ex_text = 'EX: _delete_conversation_post ' + \ ex_text = 'EX: _delete_conversation_post ' + \
'unable to remove conversation ' + \ 'unable to remove conversation ' + \
str(conversation_filename) + '.muted' str(conversation_filename) + '.muted'
remove_file(conversation_filename + '.muted', ex_text) erase_file(conversation_filename + '.muted', ex_text)
ex_text = 'EX: _delete_conversation_post ' + \ ex_text = 'EX: _delete_conversation_post ' + \
'unable to remove conversation ' + \ 'unable to remove conversation ' + \
str(conversation_filename) str(conversation_filename)
remove_file(conversation_filename, ex_text) erase_file(conversation_filename, ex_text)
def is_dm(post_json_object: {}) -> bool: def is_dm(post_json_object: {}) -> bool:
@ -2304,7 +2304,7 @@ def delete_post(base_dir: str, http_prefix: str,
# finally, remove the post itself # finally, remove the post itself
ex_text = 'EX: delete_post unable to delete post ' + \ ex_text = 'EX: delete_post unable to delete post ' + \
str(post_filename) str(post_filename)
if remove_file(post_filename, ex_text): if erase_file(post_filename, ex_text):
return True return True
return False return False
@ -2339,7 +2339,7 @@ def delete_post(base_dir: str, http_prefix: str,
if os.path.isfile(gemini_blog_filename): if os.path.isfile(gemini_blog_filename):
ex_text = 'EX: delete_post unable to delete gemini post ' + \ ex_text = 'EX: delete_post unable to delete gemini post ' + \
str(gemini_blog_filename) str(gemini_blog_filename)
if remove_file(gemini_blog_filename, ex_text): if erase_file(gemini_blog_filename, ex_text):
return True return True
# delete markdown blog post # delete markdown blog post
@ -2351,7 +2351,7 @@ def delete_post(base_dir: str, http_prefix: str,
if os.path.isfile(markdown_blog_filename): if os.path.isfile(markdown_blog_filename):
ex_text = 'EX: delete_post unable to delete markdown post ' + \ ex_text = 'EX: delete_post unable to delete markdown post ' + \
str(markdown_blog_filename) str(markdown_blog_filename)
if remove_file(markdown_blog_filename, ex_text): if erase_file(markdown_blog_filename, ex_text):
return True return True
# delete micron blog post # delete micron blog post
@ -2363,7 +2363,7 @@ def delete_post(base_dir: str, http_prefix: str,
if os.path.isfile(micron_blog_filename): if os.path.isfile(micron_blog_filename):
ex_text = 'EX: delete_post unable to delete micron post ' + \ ex_text = 'EX: delete_post unable to delete micron post ' + \
str(micron_blog_filename) str(micron_blog_filename)
if remove_file(micron_blog_filename, ex_text): if erase_file(micron_blog_filename, ex_text):
return True return True
# remove from recent posts cache in memory # remove from recent posts cache in memory
@ -2384,13 +2384,13 @@ def delete_post(base_dir: str, http_prefix: str,
if os.path.isfile(ext_filename): if os.path.isfile(ext_filename):
ex_text = 'EX: delete_post unable to remove ext ' + \ ex_text = 'EX: delete_post unable to remove ext ' + \
str(ext_filename) str(ext_filename)
remove_file(ext_filename, ex_text) erase_file(ext_filename, ex_text)
elif post_filename.endswith('.json'): elif post_filename.endswith('.json'):
ext_filename = post_filename.replace('.json', '') + '.' + ext ext_filename = post_filename.replace('.json', '') + '.' + ext
if os.path.isfile(ext_filename): if os.path.isfile(ext_filename):
ex_text = 'EX: delete_post unable to remove ext ' + \ ex_text = 'EX: delete_post unable to remove ext ' + \
str(ext_filename) str(ext_filename)
remove_file(ext_filename, ex_text) erase_file(ext_filename, ex_text)
# remove cached html version of the post # remove cached html version of the post
delete_cached_html(base_dir, nickname, domain, post_json_object) delete_cached_html(base_dir, nickname, domain, post_json_object)
@ -2418,7 +2418,7 @@ def delete_post(base_dir: str, http_prefix: str,
# finally, remove the post itself # finally, remove the post itself
ex_text = 'EX: delete_post unable to delete post ' + \ ex_text = 'EX: delete_post unable to delete post ' + \
str(post_filename) str(post_filename)
if remove_file(post_filename, ex_text): if erase_file(post_filename, ex_text):
return True return True
return False return False
@ -3481,8 +3481,8 @@ def set_minimize_all_images(base_dir: str,
if nickname in min_images_for_accounts: if nickname in min_images_for_accounts:
min_images_for_accounts.remove(nickname) min_images_for_accounts.remove(nickname)
if os.path.isfile(filename): if os.path.isfile(filename):
remove_file(filename, erase_file(filename,
'EX: unable to delete ' + filename) 'EX: unable to delete ' + filename)
def load_reverse_timeline(base_dir: str) -> []: def load_reverse_timeline(base_dir: str) -> []:
@ -3526,9 +3526,9 @@ def save_reverse_timeline(base_dir: str, reverse_sequence: []) -> None:
reverse_filename) reverse_filename)
else: else:
if os.path.isfile(reverse_filename): if os.path.isfile(reverse_filename):
remove_file(reverse_filename, erase_file(reverse_filename,
'EX: failed to delete reverse ' + 'EX: failed to delete reverse ' +
reverse_filename) reverse_filename)
break break
@ -4079,9 +4079,9 @@ def set_premium_account(base_dir: str, nickname: str, domain: str,
premium_filename: str = acct_dir(base_dir, nickname, domain) + '/.premium' premium_filename: str = acct_dir(base_dir, nickname, domain) + '/.premium'
if os.path.isfile(premium_filename): if os.path.isfile(premium_filename):
if not flag_state: if not flag_state:
if not remove_file(premium_filename, if not erase_file(premium_filename,
'EX: unable to remove premium flag ' + 'EX: unable to remove premium flag ' +
premium_filename): premium_filename):
return False return False
else: else:
if flag_state: if flag_state:

View File

@ -39,7 +39,7 @@ from webapp_utils import html_footer
from webapp_utils import html_hide_from_screen_reader from webapp_utils import html_hide_from_screen_reader
from webapp_utils import html_keyboard_navigation from webapp_utils import html_keyboard_navigation
from maps import html_open_street_map from maps import html_open_street_map
from data import remove_file from data import erase_file
def html_calendar_delete_confirm(translate: {}, base_dir: str, def html_calendar_delete_confirm(translate: {}, base_dir: str,
@ -132,8 +132,8 @@ def _html_calendar_day(person_cache: {}, translate: {},
account_dir = acct_dir(base_dir, nickname, domain) account_dir = acct_dir(base_dir, nickname, domain)
calendar_file = account_dir + '/.newCalendar' calendar_file = account_dir + '/.newCalendar'
if os.path.isfile(calendar_file): if os.path.isfile(calendar_file):
remove_file(calendar_file, erase_file(calendar_file,
'EX: _html_calendar_day unable to delete ' + calendar_file) 'EX: _html_calendar_day unable to delete ' + calendar_file)
css_filename = base_dir + '/epicyon-calendar.css' css_filename = base_dir + '/epicyon-calendar.css'
if os.path.isfile(base_dir + '/calendar.css'): if os.path.isfile(base_dir + '/calendar.css'):

View File

@ -9,7 +9,7 @@ __module_group__ = "Timeline"
import os import os
from utils import acct_dir from utils import acct_dir
from data import remove_file from data import erase_file
from data import save_flag_file from data import save_flag_file
@ -36,8 +36,8 @@ def set_minimal(base_dir: str, domain: str, nickname: str,
minimal_filename = account_dir + '/.notminimal' minimal_filename = account_dir + '/.notminimal'
minimal_file_exists = os.path.isfile(minimal_filename) minimal_file_exists = os.path.isfile(minimal_filename)
if minimal and minimal_file_exists: if minimal and minimal_file_exists:
remove_file(minimal_filename, erase_file(minimal_filename,
'EX: set_minimal unable to delete ' + minimal_filename) 'EX: set_minimal unable to delete ' + minimal_filename)
elif not minimal and not minimal_file_exists: elif not minimal and not minimal_file_exists:
save_flag_file(minimal_filename, save_flag_file(minimal_filename,
'EX: unable to write minimal ' + minimal_filename) 'EX: unable to write minimal ' + minimal_filename)

View File

@ -53,7 +53,7 @@ from question import is_html_question
from question import is_question from question import is_question
from data import load_string from data import load_string
from data import load_list from data import load_list
from data import remove_file from data import erase_file
def _log_timeline_timing(enable_timing_log: bool, timeline_start_time, def _log_timeline_timing(enable_timing_log: bool, timeline_start_time,
@ -521,8 +521,8 @@ def html_timeline(default_timeline: str,
if os.path.isfile(dm_file): if os.path.isfile(dm_file):
new_dm = True new_dm = True
if box_name == 'dm': if box_name == 'dm':
remove_file(dm_file, erase_file(dm_file,
'EX: html_timeline unable to delete ' + dm_file) 'EX: html_timeline unable to delete ' + dm_file)
# should the Replies button be highlighted? # should the Replies button be highlighted?
new_reply: bool = False new_reply: bool = False
@ -530,8 +530,8 @@ def html_timeline(default_timeline: str,
if os.path.isfile(reply_file): if os.path.isfile(reply_file):
new_reply = True new_reply = True
if box_name == 'tlreplies': if box_name == 'tlreplies':
remove_file(reply_file, erase_file(reply_file,
'EX: html_timeline unable to delete ' + reply_file) 'EX: html_timeline unable to delete ' + reply_file)
# should the Shares button be highlighted? # should the Shares button be highlighted?
new_share: bool = False new_share: bool = False
@ -539,9 +539,9 @@ def html_timeline(default_timeline: str,
if os.path.isfile(new_share_file): if os.path.isfile(new_share_file):
new_share = True new_share = True
if box_name == 'tlshares': if box_name == 'tlshares':
remove_file(new_share_file, erase_file(new_share_file,
'EX: html_timeline unable to delete ' + 'EX: html_timeline unable to delete ' +
new_share_file) new_share_file)
# should the Wanted button be highlighted? # should the Wanted button be highlighted?
new_wanted: bool = False new_wanted: bool = False
@ -549,9 +549,9 @@ def html_timeline(default_timeline: str,
if os.path.isfile(new_wanted_file): if os.path.isfile(new_wanted_file):
new_wanted = True new_wanted = True
if box_name == 'tlwanted': if box_name == 'tlwanted':
remove_file(new_wanted_file, erase_file(new_wanted_file,
'EX: html_timeline unable to delete ' + 'EX: html_timeline unable to delete ' +
new_wanted_file) new_wanted_file)
# should the Moderation/reports button be highlighted? # should the Moderation/reports button be highlighted?
new_report: bool = False new_report: bool = False
@ -559,9 +559,9 @@ def html_timeline(default_timeline: str,
if os.path.isfile(new_report_file): if os.path.isfile(new_report_file):
new_report = True new_report = True
if box_name == 'moderation': if box_name == 'moderation':
remove_file(new_report_file, erase_file(new_report_file,
'EX: html_timeline unable to delete ' + 'EX: html_timeline unable to delete ' +
new_report_file) new_report_file)
# show polls/votes? # show polls/votes?
show_vote_posts: bool = True show_vote_posts: bool = True

View File

@ -63,7 +63,7 @@ from data import load_list
from data import save_flag_file from data import save_flag_file
from data import save_binary from data import save_binary
from data import load_string from data import load_string
from data import remove_file from data import erase_file
def minimizing_attached_images(base_dir: str, nickname: str, domain: str, def minimizing_attached_images(base_dir: str, nickname: str, domain: str,
@ -425,10 +425,10 @@ def update_avatar_image_cache(signing_priv_key_pem: str,
str(result.status_code)) str(result.status_code))
# remove partial download # remove partial download
if os.path.isfile(avatar_image_filename): if os.path.isfile(avatar_image_filename):
remove_file(avatar_image_filename, erase_file(avatar_image_filename,
'EX: ' + 'EX: ' +
'update_avatar_image_cache unable to delete ' + 'update_avatar_image_cache unable to delete ' +
avatar_image_filename) avatar_image_filename)
else: else:
media_binary = result.content media_binary = result.content
if binary_is_image(avatar_image_filename, media_binary): if binary_is_image(avatar_image_filename, media_binary):