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 auth import create_basic_auth_header
from data import save_string
from data import remove_file
from data import erase_file
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 ' + \
'unable to delete cached post ' + \
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)
if not post_json_object.get('type'):
@ -669,7 +669,7 @@ def update_announce_collection(recent_posts_cache: {},
'EX: update_announce_collection ' + \
'unable to delete cached post ' + \
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)
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 save_string
from data import load_list
from data import move_file
def _hash_password(password: str) -> str:
@ -219,10 +220,8 @@ def store_basic_credentials(base_dir: str,
passwords_list.clear()
try:
os.rename(password_file + '.new', password_file)
except OSError:
print('EX: unable to save password 2')
if not move_file(password_file + '.new', password_file,
'EX: unable to save password 2'):
return False
else:
# append to password file
@ -273,10 +272,8 @@ def remove_password(base_dir: str, nickname: str) -> None:
passwords_list.clear()
passwords_list_new: str = ''
try:
os.rename(password_file + '.new', password_file)
except OSError:
print('EX: unable to remove password from file 2')
if not move_file(password_file + '.new', password_file,
'EX: unable to remove password from file 2'):
return

View File

@ -58,7 +58,8 @@ from data import load_list
from data import save_string
from data import save_flag_file
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,
@ -217,13 +218,13 @@ def add_account_blocks(base_dir: str,
if not blocking_file_text:
if os.path.isfile(blocking_filename):
remove_file(blocking_filename,
'EX: _profile_edit unable to delete blocking ' +
blocking_filename)
erase_file(blocking_filename,
'EX: _profile_edit unable to delete blocking ' +
blocking_filename)
if os.path.isfile(blocking_reasons_filename):
remove_file(blocking_reasons_filename,
'EX: _profile_edit unable to delete blocking reasons' +
blocking_reasons_filename)
erase_file(blocking_reasons_filename,
'EX: _profile_edit unable to delete blocking reasons' +
blocking_reasons_filename)
return True
save_string(blocking_file_text, blocking_filename,
@ -500,12 +501,11 @@ def remove_global_block(base_dir: str,
unblocking_filename + ' 1 [ex]')
if os.path.isfile(unblocking_filename + '.new'):
try:
os.rename(unblocking_filename + '.new',
unblocking_filename)
except OSError:
print('EX: remove_global_block unable to rename ' +
unblocking_filename)
ex_text = \
'EX: remove_global_block unable to rename ' + \
unblocking_filename
if not move_file(unblocking_filename + '.new',
unblocking_filename, ex_text):
return False
return True
else:
@ -529,12 +529,11 @@ def remove_global_block(base_dir: str,
unblocking_filename + ' 2 [ex]')
if os.path.isfile(unblocking_filename + '.new'):
try:
os.rename(unblocking_filename + '.new',
unblocking_filename)
except OSError:
print('EX: remove_global_block unable to rename 2 ' +
unblocking_filename)
ex_text = \
'EX: remove_global_block unable to rename 2 ' + \
unblocking_filename
if not move_file(unblocking_filename + '.new',
unblocking_filename, ex_text):
return False
return True
return False
@ -567,12 +566,10 @@ def remove_block(base_dir: str, nickname: str, domain: str,
unblocking_filename + ' 2 [ex]')
if os.path.isfile(unblocking_filename + '.new'):
try:
os.rename(unblocking_filename + '.new',
unblocking_filename)
except OSError:
print('EX: remove_block unable to rename 3 ' +
unblocking_filename)
if not move_file(unblocking_filename + '.new',
unblocking_filename,
'EX: remove_block unable to rename 3 ' +
unblocking_filename):
return False
return True
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)
if cached_post_filename:
if os.path.isfile(cached_post_filename):
if remove_file(cached_post_filename,
'EX: MUTE cached post not removed ' +
cached_post_filename):
if erase_file(cached_post_filename,
'EX: MUTE cached post not removed ' +
cached_post_filename):
print('MUTE: cached post removed ' + cached_post_filename)
else:
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: ' + \
'MUTE cached referenced post not removed ' + \
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 ' +
cached_post_filename)
@ -1317,7 +1314,7 @@ def unmute_post(base_dir: str, nickname: str, domain: str, port: int,
ex_text = \
'EX: unmute_post mute filename not deleted ' + \
str(mute_filename)
remove_file(mute_filename, ex_text)
erase_file(mute_filename, ex_text)
print('UNMUTE: ' + mute_filename + ' file removed')
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: unmute_post cached post not deleted ' + \
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 recent_posts_cache.get('index'):
@ -1406,7 +1403,7 @@ def unmute_post(base_dir: str, nickname: str, domain: str, port: int,
'EX: ' + \
'unmute_post cached ref post not removed ' + \
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 ' +
cached_post_filename)
@ -1572,7 +1569,7 @@ def set_broch_mode(base_dir: str, domain_full: str, enabled: bool) -> None:
ex_text = \
'EX: set_broch_mode allow file not deleted ' + \
str(allow_filename)
remove_file(allow_filename, ex_text)
erase_file(allow_filename, ex_text)
print('Broch mode turned off')
else:
if os.path.isfile(allow_filename):
@ -1640,7 +1637,7 @@ def broch_modeLapses(base_dir: str, lapse_days: int) -> bool:
ex_text = \
'EX: broch_modeLapses allow file not deleted ' + \
str(allow_filename)
if remove_file(allow_filename, ex_text):
if erase_file(allow_filename, ex_text):
removed = True
if removed:
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:
print('DEBUG: federated blocklist not loaded: ' + block_api_filename)
if os.path.isfile(block_api_filename):
remove_file(block_api_filename,
'EX: unable to remove block api: ' +
block_api_filename)
erase_file(block_api_filename,
'EX: unable to remove block api: ' +
block_api_filename)
else:
print('DEBUG: federated blocklist loaded: ' + str(block_federated))
save_string(new_block_api_str, block_api_filename,
@ -2197,13 +2194,13 @@ def save_block_federated_endpoints(base_dir: str,
result.append(endpoint)
if not block_federated_endpoints_str:
if os.path.isfile(block_api_endpoints_filename):
remove_file(block_api_endpoints_filename,
'EX: unable to delete block_api_endpoints.txt')
erase_file(block_api_endpoints_filename,
'EX: unable to delete block_api_endpoints.txt')
block_api_filename = \
data_dir(base_dir) + '/block_api.txt'
if os.path.isfile(block_api_filename):
remove_file(block_api_filename,
'EX: unable to delete block_api.txt')
erase_file(block_api_filename,
'EX: unable to delete block_api.txt')
else:
save_string(block_federated_endpoints_str,
block_api_endpoints_filename,

View File

@ -38,7 +38,7 @@ from session import post_json
from data import load_string
from data import save_string
from data import prepend_string
from data import remove_file
from data import erase_file
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 ' + \
'unable to delete cached post file ' + \
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 from the index
@ -185,7 +185,7 @@ def update_bookmarks_collection(recent_posts_cache: {},
'EX: update_bookmarks_collection ' + \
'unable to delete cached post ' + \
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)
if not post_json_object.get('object'):

View File

@ -33,7 +33,7 @@ from timeFunctions import date_utcnow
from content import remove_script
from data import save_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,
@ -45,7 +45,7 @@ def remove_person_from_cache(base_dir: str, person_url: str,
if os.path.isfile(cache_filename):
ex_text = \
'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):
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 ' + \
'unable to delete cached avatar ' + \
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: {},
@ -430,7 +430,7 @@ def clear_from_post_caches(base_dir: str, recent_posts_cache: {},
ex_text = \
'EX: clear_from_post_caches file not removed ' + \
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 recent_posts_cache.get('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 data import load_string
from data import save_string
from data import remove_file
from data import erase_file
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)
if not hashtag_categories:
if os.path.isfile(category_list_filename):
remove_file(category_list_filename,
'EX: update_hashtag_categories ' +
'unable to delete cached category list ' +
category_list_filename)
erase_file(category_list_filename,
'EX: update_hashtag_categories ' +
'unable to delete cached category list ' +
category_list_filename)
return
category_list: list[str] = []

View File

@ -55,7 +55,7 @@ from data import load_string
from data import save_string
from data import save_binary
from data import append_string
from data import remove_file
from data import erase_file
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 ' + \
'unable to delete other ' + \
str(possible_other_format)
remove_file(possible_other_format, ex_text)
erase_file(possible_other_format, ex_text)
if os.path.isfile(filename_base):
ex_text = \
'EX: save_media_in_form_post ' + \
'unable to delete ' + str(filename_base)
remove_file(filename_base, ex_text)
erase_file(filename_base, ex_text)
if debug:
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 ' + \
'unable to delete other 2 ' + \
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
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_flag_file
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,
@ -113,9 +113,9 @@ def unmute_conversation(base_dir: str, nickname: str, domain: str,
return
if not os.path.isfile(conversation_filename + '.muted'):
return
remove_file(conversation_filename + '.muted',
'EX: unmute_conversation unable to delete ' +
conversation_filename + '.muted')
erase_file(conversation_filename + '.muted',
'EX: unmute_conversation unable to delete ' +
conversation_filename + '.muted')
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 filters import is_filtered
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,
@ -132,9 +132,9 @@ def set_hashtag_category2(self, calling_domain: str, cookie: str,
else:
category_filename = base_dir + '/tags/' + hashtag + '.category'
if os.path.isfile(category_filename):
remove_file(category_filename,
'EX: _set_hashtag_category unable to delete ' +
category_filename)
erase_file(category_filename,
'EX: _set_hashtag_category unable to delete ' +
category_filename)
# redirect back to the default timeline
redirect_headers(self, tag_screen_str,

View File

@ -19,7 +19,7 @@ from utils import get_config_param
from httpheaders import redirect_headers
from content import extract_text_fields_in_post
from data import save_string
from data import remove_file
from data import erase_file
def _links_update_edited(fields: {}, links_filename: str) -> None:
@ -44,9 +44,9 @@ def _links_update_edited(fields: {}, links_filename: str) -> None:
links_filename)
else:
if os.path.isfile(links_filename):
remove_file(links_filename,
'EX: _links_update unable to delete ' +
links_filename)
erase_file(links_filename,
'EX: _links_update unable to delete ' +
links_filename)
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)
else:
if os.path.isfile(about_filename):
remove_file(about_filename,
'EX: _links_update unable to delete ' +
about_filename)
erase_file(about_filename,
'EX: _links_update unable to delete ' +
about_filename)
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)
else:
if os.path.isfile(tos_filename):
remove_file(tos_filename,
'EX: _links_update unable to delete ' +
tos_filename)
erase_file(tos_filename,
'EX: _links_update unable to delete ' +
tos_filename)
def _links_update_sepcification(fields: {},
@ -95,9 +95,9 @@ def _links_update_sepcification(fields: {},
specification_filename)
else:
if os.path.isfile(specification_filename):
remove_file(specification_filename,
'EX: _links_update_specification unable to delete ' +
specification_filename)
erase_file(specification_filename,
'EX: _links_update_specification unable to delete ' +
specification_filename)
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 load_dogwhistles
from data import save_string
from data import remove_file
from data import erase_file
def newswire_update(self, calling_domain: str, cookie: str,
@ -129,9 +129,9 @@ def newswire_update(self, calling_domain: str, cookie: str,
else:
# text area has been cleared and there is no new feed
if os.path.isfile(newswire_filename):
remove_file(newswire_filename,
'EX: _newswire_update unable to delete ' +
newswire_filename)
erase_file(newswire_filename,
'EX: _newswire_update unable to delete ' +
newswire_filename)
# save filtered words list for the newswire
filter_newswire_filename = \
@ -143,9 +143,9 @@ def newswire_update(self, calling_domain: str, cookie: str,
filter_newswire_filename)
else:
if os.path.isfile(filter_newswire_filename):
remove_file(filter_newswire_filename,
'EX: _newswire_update unable to delete ' +
filter_newswire_filename)
erase_file(filter_newswire_filename,
'EX: _newswire_update unable to delete ' +
filter_newswire_filename)
# save dogwhistle words list
dogwhistles_filename = data_dir(base_dir) + '/dogwhistles.txt'
@ -172,9 +172,9 @@ def newswire_update(self, calling_domain: str, cookie: str,
hashtag_rules_filename)
else:
if os.path.isfile(hashtag_rules_filename):
remove_file(hashtag_rules_filename,
'EX: _newswire_update unable to delete ' +
hashtag_rules_filename)
erase_file(hashtag_rules_filename,
'EX: _newswire_update unable to delete ' +
hashtag_rules_filename)
newswire_tusted_filename = data_dir(base_dir) + '/newswiretrusted.txt'
if fields.get('trustedNewswire'):
@ -186,9 +186,9 @@ def newswire_update(self, calling_domain: str, cookie: str,
newswire_tusted_filename)
else:
if os.path.isfile(newswire_tusted_filename):
remove_file(newswire_tusted_filename,
'EX: _newswire_update unable to delete ' +
newswire_tusted_filename)
erase_file(newswire_tusted_filename,
'EX: _newswire_update unable to delete ' +
newswire_tusted_filename)
# redirect back to the 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'
# remove any existing citations file
if os.path.isfile(citations_filename):
remove_file(citations_filename,
'EX: _citations_update unable to delete ' +
citations_filename)
erase_file(citations_filename,
'EX: _citations_update unable to delete ' +
citations_filename)
if newswire and \
' 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 flags import is_moderator
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:
@ -604,9 +604,9 @@ def _person_options_post_to_news(self, options_confirm_params: str,
newswire_blocked_filename = account_dir + '/.nonewswire'
if posts_to_news == 'on':
if os.path.isfile(newswire_blocked_filename):
remove_file(newswire_blocked_filename,
'EX: _person_options unable to delete ' +
newswire_blocked_filename)
erase_file(newswire_blocked_filename,
'EX: _person_options unable to delete ' +
newswire_blocked_filename)
refresh_newswire(base_dir)
else:
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'
if posts_to_features == 'on':
if os.path.isfile(features_blocked_filename):
remove_file(features_blocked_filename,
'EX: _person_options unable to delete ' +
features_blocked_filename)
erase_file(features_blocked_filename,
'EX: _person_options unable to delete ' +
features_blocked_filename)
refresh_newswire(base_dir)
else:
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'
if mod_posts_to_news != 'on':
if os.path.isfile(newswire_mod_filename):
remove_file(newswire_mod_filename,
'EX: _person_options unable to delete ' +
newswire_mod_filename)
erase_file(newswire_mod_filename,
'EX: _person_options unable to delete ' +
newswire_mod_filename)
else:
if os.path.isdir(account_dir):
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 data import save_string
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,
@ -258,9 +258,9 @@ def _profile_post_git_projects(base_dir: str, nickname: str, domain: str,
'EX: unable to write git ' + git_projects_filename)
else:
if os.path.isfile(git_projects_filename):
remove_file(git_projects_filename,
'EX: _profile_edit unable to delete ' +
git_projects_filename)
erase_file(git_projects_filename,
'EX: _profile_edit unable to delete ' +
git_projects_filename)
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)
else:
if os.path.isfile(peertube_instances_file):
remove_file(peertube_instances_file,
'EX: _profile_edit unable to delete ' +
peertube_instances_file)
erase_file(peertube_instances_file,
'EX: _profile_edit unable to delete ' +
peertube_instances_file)
peertube_instances.clear()
@ -316,10 +316,10 @@ def _profile_post_robots_txt(base_dir: str, fields: {}, self) -> None:
if not new_robots_txt:
self.server.robots_txt = ''
if os.path.isfile(robots_txt_filename):
remove_file(robots_txt_filename,
'EX: _profile_post_robots_txt' +
' unable to delete ' +
robots_txt_filename)
erase_file(robots_txt_filename,
'EX: _profile_post_robots_txt' +
' unable to delete ' +
robots_txt_filename)
else:
save_string(new_robots_txt, robots_txt_filename,
'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)
else:
if os.path.isfile(buy_sites_filename):
remove_file(buy_sites_filename,
'EX: unable to delete ' + buy_sites_filename)
erase_file(buy_sites_filename,
'EX: unable to delete ' + buy_sites_filename)
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)
else:
if os.path.isfile(allowed_instances_filename):
remove_file(allowed_instances_filename,
'EX: _profile_edit unable to delete ' +
allowed_instances_filename)
erase_file(allowed_instances_filename,
'EX: _profile_edit unable to delete ' +
allowed_instances_filename)
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)
else:
if os.path.isfile(dm_allowed_instances_filename):
remove_file(dm_allowed_instances_filename,
'EX: _profile_edit unable to delete ' +
dm_allowed_instances_filename)
erase_file(dm_allowed_instances_filename,
'EX: _profile_edit unable to delete ' +
dm_allowed_instances_filename)
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')
filename_base = base_dir + '/imports/newtheme.zip'
if os.path.isfile(filename_base):
remove_file(filename_base,
'EX: _profile_edit unable to delete ' +
filename_base)
erase_file(filename_base,
'EX: _profile_edit unable to delete ' +
filename_base)
if nickname == admin_nickname or is_artist(base_dir, nickname):
if import_theme(base_dir, filename_base):
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')
else:
if os.path.isfile(auto_cw_filename):
remove_file(auto_cw_filename,
'EX: _profile_edit unable to delete ' +
auto_cw_filename)
erase_file(auto_cw_filename,
'EX: _profile_edit unable to delete ' +
auto_cw_filename)
self.server.auto_cw_cache[nickname]: list[str] = []
@ -544,9 +544,9 @@ def _profile_post_autogenerated_tags(base_dir: str,
auto_tags_filename)
else:
if os.path.isfile(auto_tags_filename):
remove_file(auto_tags_filename,
'EX: _profile_edit unable to delete ' +
auto_tags_filename)
erase_file(auto_tags_filename,
'EX: _profile_edit unable to delete ' +
auto_tags_filename)
def _profile_post_word_replacements(base_dir: str,
@ -562,9 +562,9 @@ def _profile_post_word_replacements(base_dir: str,
switch_filename)
else:
if os.path.isfile(switch_filename):
remove_file(switch_filename,
'EX: _profile_edit unable to delete ' +
switch_filename)
erase_file(switch_filename,
'EX: _profile_edit unable to delete ' +
switch_filename)
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)
else:
if os.path.isfile(filter_bio_filename):
remove_file(filter_bio_filename,
'EX: _profile_edit ' +
'unable to delete bio filter ' +
filter_bio_filename)
erase_file(filter_bio_filename,
'EX: _profile_edit ' +
'unable to delete bio filter ' +
filter_bio_filename)
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)
else:
if os.path.isfile(filter_filename):
remove_file(filter_filename,
'EX: _profile_edit unable to delete filter ' +
filter_filename)
erase_file(filter_filename,
'EX: _profile_edit unable to delete filter ' +
filter_filename)
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)
if not notify_reactions_active:
if os.path.isfile(notify_reactions_filename):
remove_file(notify_reactions_filename,
'EX: _profile_edit unable to delete ' +
notify_reactions_filename)
erase_file(notify_reactions_filename,
'EX: _profile_edit unable to delete ' +
notify_reactions_filename)
return actor_changed
@ -750,9 +750,9 @@ def _profile_post_notify_likes(on_final_welcome_screen: bool,
notify_likes_filename)
if not notify_likes_active:
if os.path.isfile(notify_likes_filename):
remove_file(notify_likes_filename,
'EX: _profile_edit unable to delete ' +
notify_likes_filename)
erase_file(notify_likes_filename,
'EX: _profile_edit unable to delete ' +
notify_likes_filename)
return actor_changed
@ -849,9 +849,9 @@ def _profile_post_no_reply_boosts(base_dir: str, nickname: str, domain: str,
no_reply_boosts_filename)
if not no_reply_boosts:
if os.path.isfile(no_reply_boosts_filename):
remove_file(no_reply_boosts_filename,
'EX: _profile_edit unable to delete ' +
no_reply_boosts_filename)
erase_file(no_reply_boosts_filename,
'EX: _profile_edit unable to delete ' +
no_reply_boosts_filename)
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)
if not no_seen_posts:
if os.path.isfile(no_seen_posts_filename):
remove_file(no_seen_posts_filename,
'EX: _profile_edit unable to delete ' +
no_seen_posts_filename)
erase_file(no_seen_posts_filename,
'EX: _profile_edit unable to delete ' +
no_seen_posts_filename)
def _profile_post_watermark_enabled(base_dir: str,
@ -894,10 +894,10 @@ def _profile_post_watermark_enabled(base_dir: str,
watermark_enabled_filename)
if not watermark_enabled:
if os.path.isfile(watermark_enabled_filename):
remove_file(watermark_enabled_filename,
'EX: _profile_edit ' +
'unable to delete ' +
watermark_enabled_filename)
erase_file(watermark_enabled_filename,
'EX: _profile_edit ' +
'unable to delete ' +
watermark_enabled_filename)
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]
actor_changed = True
if os.path.isfile(hide_follows_filename):
remove_file(hide_follows_filename,
'EX: _profile_post_hide_follows ' +
'unable to delete ' +
hide_follows_filename)
erase_file(hide_follows_filename,
'EX: _profile_post_hide_follows ' +
'unable to delete ' +
hide_follows_filename)
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]
actor_changed = True
if os.path.isfile(hide_recent_posts_filename):
remove_file(hide_recent_posts_filename,
'EX: _profile_post_hide_recent_posts ' +
'unable to delete ' +
hide_recent_posts_filename)
erase_file(hide_recent_posts_filename,
'EX: _profile_post_hide_recent_posts ' +
'unable to delete ' +
hide_recent_posts_filename)
return actor_changed
@ -978,9 +978,9 @@ def _profile_post_mutuals_replies(account_dir: str, fields: {}) -> None:
show_replies_mutuals_file = account_dir + '/.repliesFromMutualsOnly'
if os.path.isfile(show_replies_mutuals_file):
if not show_replies_mutuals:
remove_file(show_replies_mutuals_file,
'EX: unable to remove repliesFromMutualsOnly file ' +
show_replies_mutuals_file)
erase_file(show_replies_mutuals_file,
'EX: unable to remove repliesFromMutualsOnly file ' +
show_replies_mutuals_file)
else:
if show_replies_mutuals:
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'
if os.path.isfile(show_replies_followers_file):
if not show_replies_followers:
remove_file(show_replies_followers_file,
'EX: unable to remove ' +
'repliesFromFollowersOnly file ' +
show_replies_followers_file)
erase_file(show_replies_followers_file,
'EX: unable to remove ' +
'repliesFromFollowersOnly file ' +
show_replies_followers_file)
else:
if show_replies_followers:
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'
if os.path.isfile(show_quote_toots_file):
if not show_quote_toots:
remove_file(show_quote_toots_file,
'EX: unable to remove allowQuotes file ' +
show_quote_toots_file)
erase_file(show_quote_toots_file,
'EX: unable to remove allowQuotes file ' +
show_quote_toots_file)
else:
if show_quote_toots:
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'
if os.path.isfile(show_vote_file):
if show_vote_posts:
remove_file(show_vote_file,
'EX: unable to remove noVotes file ' +
show_vote_file)
erase_file(show_vote_file,
'EX: unable to remove noVotes file ' +
show_vote_file)
else:
if not show_vote_posts:
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):
del self.server.bold_reading[nickname]
if os.path.isfile(bold_reading_filename):
remove_file(bold_reading_filename,
'EX: _profile_edit unable to delete ' +
bold_reading_filename)
erase_file(bold_reading_filename,
'EX: _profile_edit unable to delete ' +
bold_reading_filename)
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)
# remove notify Reaction selection
if os.path.isfile(notify_reactions_filename):
remove_file(notify_reactions_filename,
'EX: _profile_edit unable to delete ' +
notify_reactions_filename)
erase_file(notify_reactions_filename,
'EX: _profile_edit unable to delete ' +
notify_reactions_filename)
if not hide_reaction_button_active:
if os.path.isfile(hide_reaction_button_file):
remove_file(hide_reaction_button_file,
'EX: _profile_edit unable to delete ' +
hide_reaction_button_file)
erase_file(hide_reaction_button_file,
'EX: _profile_edit unable to delete ' +
hide_reaction_button_file)
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)
# remove notify likes selection
if os.path.isfile(notify_likes_filename):
remove_file(notify_likes_filename,
'EX: _profile_edit unable to delete ' +
notify_likes_filename)
erase_file(notify_likes_filename,
'EX: _profile_edit unable to delete ' +
notify_likes_filename)
if not hide_like_button_active:
if os.path.isfile(hide_like_button_file):
remove_file(hide_like_button_file,
'EX: _profile_edit unable to delete ' +
hide_like_button_file)
erase_file(hide_like_button_file,
'EX: _profile_edit unable to delete ' +
hide_like_button_file)
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)
if not remove_twitter_active:
if os.path.isfile(remove_twitter_filename):
remove_file(remove_twitter_filename,
'EX: _profile_edit unable to delete ' +
remove_twitter_filename)
erase_file(remove_twitter_filename,
'EX: _profile_edit unable to delete ' +
remove_twitter_filename)
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)
if not follow_dms_active:
if os.path.isfile(follow_dms_filename):
remove_file(follow_dms_filename,
'EX: _profile_edit unable to delete ' +
follow_dms_filename)
erase_file(follow_dms_filename,
'EX: _profile_edit unable to delete ' +
follow_dms_filename)
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')
for ext in font_ext:
if os.path.isfile(base_dir + '/fonts/custom.' + ext):
remove_file(base_dir + '/fonts/custom.' + ext,
'EX: _profile_edit unable to delete ' +
base_dir + '/fonts/custom.' + ext)
erase_file(base_dir + '/fonts/custom.' + ext,
'EX: _profile_edit unable to delete ' +
base_dir + '/fonts/custom.' + ext)
if os.path.isfile(base_dir +
'/fonts/custom.' + ext + '.etag'):
remove_file(base_dir +
'/fonts/custom.' + ext + '.etag',
'EX: _profile_edit ' +
'unable to delete ' +
base_dir + '/fonts/custom.' +
ext + '.etag')
erase_file(base_dir +
'/fonts/custom.' + ext + '.etag',
'EX: _profile_edit ' +
'unable to delete ' +
base_dir + '/fonts/custom.' +
ext + '.etag')
curr_theme = get_theme(base_dir)
if 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,
'EX: unable to write reject spam actors')
else:
remove_file(actor_spam_filter_filename,
'EX: unable to remove reject spam actors')
erase_file(actor_spam_filter_filename,
'EX: unable to remove reject spam actors')
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')
filename_base = base_dir + '/imports/newtheme.zip'
if os.path.isfile(filename_base):
remove_file(filename_base,
'EX: _profile_edit unable to delete ' +
filename_base)
erase_file(filename_base,
'EX: _profile_edit unable to delete ' +
filename_base)
elif m_type == 'importFollows':
filename_base = \
acct_dir(base_dir, nickname, domain) + \
@ -2776,9 +2776,9 @@ def profile_edit(self, calling_domain: str, cookie: str,
' media removing metadata')
# remove existing etag
if os.path.isfile(post_image_filename + '.etag'):
remove_file(post_image_filename + '.etag',
'EX: _profile_edit unable to delete ' +
post_image_filename + '.etag')
erase_file(post_image_filename + '.etag',
'EX: _profile_edit unable to delete ' +
post_image_filename + '.etag')
city = get_spoofed_city(self.server.city,
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 inbox import populate_replies
from data import append_string
from data import remove_file
from data import erase_file
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)
if cached_post_filename:
if os.path.isfile(cached_post_filename):
remove_file(cached_post_filename,
'EX: _send_reply_to_question ' +
'unable to delete ' +
cached_post_filename)
erase_file(cached_post_filename,
'EX: _send_reply_to_question ' +
'unable to delete ' +
cached_post_filename)
# remove from memory cache
remove_post_from_cache(post_json_object,
recent_posts_cache)

View File

@ -66,7 +66,8 @@ from shares import add_shares_to_actor
from person import get_actor_update_json
from maps import geocoords_to_osm_link
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_FAILED = -1
@ -424,9 +425,9 @@ def _receive_new_post_process_editblog(self, fields: {},
fields['postUrl'].replace('/', '#') + '.html'
if os.path.isfile(cached_filename):
print('Edited blog post, removing cached html')
remove_file(cached_filename,
'EX: _receive_new_post_process ' +
'unable to delete ' + cached_filename)
erase_file(cached_filename,
'EX: _receive_new_post_process ' +
'unable to delete ' + cached_filename)
# remove from memory cache
remove_post_from_cache(post_json_object,
recent_posts_cache)
@ -1745,9 +1746,9 @@ def _receive_new_post_process_newshare(self, fields: {},
if filename:
if os.path.isfile(filename):
remove_file(filename,
'EX: _receive_new_post_process ' +
'unable to delete ' + filename)
erase_file(filename,
'EX: _receive_new_post_process ' +
'unable to delete ' + filename)
self.post_to_nickname = nickname
return NEW_POST_SUCCESS
@ -1911,12 +1912,10 @@ def _receive_new_post_process(self, post_type: str, path: str, headers: {},
else:
if os.path.isfile(filename):
new_filename = filename.replace('.temp', '')
try:
os.rename(filename, new_filename)
if move_file(filename, new_filename,
'EX: POST could not rename ' +
filename + ' -> ' + new_filename):
filename = new_filename
except OSError:
print('EX: POST could not rename ' +
filename + ' -> ' + new_filename)
fields = \
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
def remove_file(filename: str, exception_text: str) -> bool:
def erase_file(filename: str, exception_text: str) -> bool:
"""Deletes a file
"""
try:
@ -163,3 +163,17 @@ def remove_file(filename: str, exception_text: str) -> bool:
exception_text = exception_text.replace('[ex]', str(exc))
print(exception_text)
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 auth import create_basic_auth_header
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,
@ -214,7 +214,7 @@ def remove_old_hashtags(base_dir: str, max_months: int) -> str:
remove_hashtags.append(tags_filename)
break
for remove_filename in remove_hashtags:
remove_file(remove_filename,
'EX: remove_old_hashtags unable to delete ' +
remove_filename)
for erase_filename in remove_hashtags:
erase_file(erase_filename,
'EX: remove_old_hashtags unable to delete ' +
erase_filename)

View File

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

View File

@ -49,7 +49,8 @@ from data import load_string
from data import append_string
from data import load_list
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:
@ -165,11 +166,9 @@ def _remove_from_follow_base(base_dir: str,
'EX: _remove_from_follow_base ' +
approve_follows_filename + ' 1 [ex]')
try:
os.rename(approve_follows_filename + '.new',
approve_follows_filename)
except OSError:
print('EX: _remove_from_follow_base could not rename ' +
move_file(approve_follows_filename + '.new',
approve_follows_filename,
'EX: _remove_from_follow_base could not rename ' +
approve_follows_filename + '.new' + ' -> ' +
approve_follows_filename)
@ -389,8 +388,8 @@ def clear_follows(base_dir: str, nickname: str, domain: str,
os.mkdir(accounts_dir)
filename = accounts_dir + '/' + follow_file
if os.path.isfile(filename):
remove_file(filename,
'EX: clear_follows unable to delete ' + filename)
erase_file(filename,
'EX: clear_follows unable to delete ' + filename)
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) + \
'/requests/' + nickname + '@' + domain + '.follow'
if os.path.isfile(follow_activity_filename):
remove_file(follow_activity_filename,
'EX: follow Accept ' +
'followed_account_accepts unable to delete ' +
follow_activity_filename)
erase_file(follow_activity_filename,
'EX: follow Accept ' +
'followed_account_accepts unable to delete ' +
follow_activity_filename)
group_account: bool = False
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,
deny_handle, debug)
# remove the follow request json
remove_file(follow_activity_filename,
'EX: followed_account_rejects unable to delete ' +
follow_activity_filename)
erase_file(follow_activity_filename,
'EX: followed_account_rejects unable to delete ' +
follow_activity_filename)
curr_session = session
if domain.endswith('.onion') and 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 append_string
from data import prepend_string
from data import remove_file
from data import erase_file
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,
'EX: ERROR: unable to save events timeline')
elif os.path.isfile(tl_events_filename):
remove_file(tl_events_filename,
'EX: ERROR: unable to remove events timeline')
erase_file(tl_events_filename,
'EX: ERROR: unable to remove events timeline')
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 data import load_string
from data import save_string
from data import remove_file
from data import erase_file
def _establish_import_session(httpd,
@ -221,9 +221,9 @@ def run_import_following(base_dir: str, httpd):
continue
if not _update_import_following(base_dir, account, httpd,
import_filename):
remove_file(import_filename,
'EX: unable to remove import file ' +
import_filename)
erase_file(import_filename,
'EX: unable to remove import file ' +
import_filename)
else:
break

View File

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

View File

@ -91,7 +91,7 @@ from data import save_flag_file
from data import append_string
from data import prepend_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,
@ -353,9 +353,9 @@ def _receive_update_to_question(recent_posts_cache: {}, message_json: {},
get_cached_post_filename(base_dir, nickname, domain, message_json)
if cached_post_filename:
if os.path.isfile(cached_post_filename):
remove_file(cached_post_filename,
'EX: _receive_update_to_question unable to delete ' +
cached_post_filename)
erase_file(cached_post_filename,
'EX: _receive_update_to_question unable to delete ' +
cached_post_filename)
# remove from memory cache
remove_post_from_cache(message_json, recent_posts_cache)
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)
if cached_post_filename:
if os.path.isfile(cached_post_filename):
remove_file(cached_post_filename,
'EX: _receive_edit_to_post unable to delete ' +
cached_post_filename)
erase_file(cached_post_filename,
'EX: _receive_edit_to_post unable to delete ' +
cached_post_filename)
# remove any cached html for the post which was edited
delete_cached_html(base_dir, nickname, domain, post_json_object)
# remove from memory cache
@ -2088,7 +2088,7 @@ def receive_announce(recent_posts_cache: {},
ex_text = \
'EX: _receive_announce unable to delete ' + \
str(post_filename)
remove_file(post_filename, ex_text)
erase_file(post_filename, ex_text)
else:
if debug:
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)
if cached_post_filename:
if os.path.isfile(cached_post_filename):
remove_file(cached_post_filename,
'EX: replytoQuestion unable to delete ' +
cached_post_filename)
erase_file(cached_post_filename,
'EX: replytoQuestion unable to delete ' +
cached_post_filename)
page_number: int = 1
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 webapp_post import individual_post_as_html
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: {},
@ -656,5 +656,5 @@ def receive_undo_announce(recent_posts_cache: {},
ex_text = \
'EX: _receive_undo_announce unable to delete ' + \
str(post_filename)
remove_file(post_filename, ex_text)
erase_file(post_filename, ex_text)
return True

10
like.py
View File

@ -33,7 +33,7 @@ from session import post_json
from webfinger import webfinger_handle
from auth import create_basic_auth_header
from posts import get_person_box
from data import remove_file
from data import erase_file
def no_of_likes(post_json_object: {}) -> int:
@ -472,9 +472,9 @@ def update_likes_collection(recent_posts_cache: {},
domain, post_json_object)
if cached_post_filename:
if os.path.isfile(cached_post_filename):
remove_file(cached_post_filename,
'EX: update_likes_collection unable to delete ' +
cached_post_filename)
erase_file(cached_post_filename,
'EX: update_likes_collection unable to delete ' +
cached_post_filename)
obj = 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 ' + \
'unable to delete cached post ' + \
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)
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 load_json
from utils import string_contains
from data import remove_file
from data import erase_file
VALID_LXMF_CHARS = set('0123456789abcdefghijklmnopqrstuvwxyz')
@ -112,8 +112,8 @@ def set_lxmf_address(base_dir: str, nickname: str, domain: str,
qrcode_filename = \
acct_dir(base_dir, nickname, domain) + '/qrcode_lxmf.png'
if os.path.isfile(qrcode_filename):
remove_file(qrcode_filename,
'EX: cannot remove lxmf qrcode ' + qrcode_filename)
erase_file(qrcode_filename,
'EX: cannot remove lxmf qrcode ' + qrcode_filename)
lxmf_address = lxmf_address.strip()

View File

@ -29,7 +29,8 @@ from data import load_string
from data import append_string
from data import prepend_string
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,
@ -368,23 +369,21 @@ def manual_approve_follow_request(session, session_onion, session_i2p,
# mark this handle as approved for following
_approve_follower_handle(account_dir, approve_handle)
# update the follow requests with the handles not yet approved
try:
os.rename(approve_follows_filename + '.new',
approve_follows_filename)
except OSError:
print('EX: manual_approve_follow_request could not rename ' +
move_file(approve_follows_filename + '.new',
approve_follows_filename,
'EX: manual_approve_follow_request could not rename ' +
approve_follows_filename + '.new' + ' -> ' +
approve_follows_filename)
# remove the .follow file
if follow_activity_filename:
if os.path.isfile(follow_activity_filename):
remove_file(follow_activity_filename,
'EX: manual_approve_follow_request ' +
'unable to delete ' + follow_activity_filename)
erase_file(follow_activity_filename,
'EX: manual_approve_follow_request ' +
'unable to delete ' + follow_activity_filename)
else:
remove_file(approve_follows_filename + '.new',
'EX: manual_approve_follow_request unable to delete ' +
approve_follows_filename + '.new')
erase_file(approve_follows_filename + '.new',
'EX: manual_approve_follow_request unable to delete ' +
approve_follows_filename + '.new')
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 load_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
@ -476,9 +477,9 @@ def convert_image_to_low_bandwidth(image_filename: str) -> None:
"""
low_bandwidth_filename = image_filename + '.low'
if os.path.isfile(low_bandwidth_filename):
remove_file(low_bandwidth_filename,
'EX: convert_image_to_low_bandwidth unable to delete ' +
low_bandwidth_filename)
erase_file(low_bandwidth_filename,
'EX: convert_image_to_low_bandwidth unable to delete ' +
low_bandwidth_filename)
cmd = \
'/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')
break
if os.path.isfile(low_bandwidth_filename):
remove_file(image_filename,
'EX: convert_image_to_low_bandwidth unable to delete ' +
image_filename)
try:
os.rename(low_bandwidth_filename, image_filename)
except OSError:
print('EX: convert_image_to_low_bandwidth could not rename ' +
erase_file(image_filename,
'EX: convert_image_to_low_bandwidth unable to delete ' +
image_filename)
move_file(low_bandwidth_filename, image_filename,
'EX: convert_image_to_low_bandwidth could not rename ' +
low_bandwidth_filename + ' -> ' + 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'):
return False
if not remove_file(post_image_filename,
'EX: _apply_watermark_to_image unable to remove ' +
post_image_filename):
if not erase_file(post_image_filename,
'EX: _apply_watermark_to_image unable to remove ' +
post_image_filename):
return False
try:
os.rename(post_image_filename + '.watermarked', post_image_filename)
except OSError:
print('EX: _apply_watermark_to_image unable to rename ' +
post_image_filename + '.watermarked')
if not move_file(post_image_filename + '.watermarked', post_image_filename,
'EX: _apply_watermark_to_image unable to rename ' +
post_image_filename + '.watermarked'):
return False
return True

View File

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

View File

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

View File

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

View File

@ -96,7 +96,8 @@ from data import save_string
from data import save_flag_file
from data import load_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):
@ -705,13 +706,13 @@ def clear_person_qrcodes(base_dir: str) -> None:
qrcode_filename = \
acct_dir(base_dir, nickname, domain) + '/qrcode.png'
if os.path.isfile(qrcode_filename):
remove_file(qrcode_filename,
'EX: clear_person_qrcodes 1 ' +
qrcode_filename)
erase_file(qrcode_filename,
'EX: clear_person_qrcodes 1 ' +
qrcode_filename)
if os.path.isfile(qrcode_filename + '.etag'):
remove_file(qrcode_filename + '.etag',
'EX: clear_person_qrcodes 2 ' +
qrcode_filename + '.etag')
erase_file(qrcode_filename + '.etag',
'EX: clear_person_qrcodes 2 ' +
qrcode_filename + '.etag')
break
@ -1309,10 +1310,8 @@ def _unsuspend_media_for_account(base_dir: str, account_dir: str) -> None:
media_filename = base_dir + filename
if not os.path.isfile(media_filename + '.suspended'):
continue
try:
os.rename(media_filename + '.suspended', media_filename)
except OSError:
print('EX: unable to unsuspend media ' + media_filename)
move_file(media_filename + '.suspended', media_filename,
'EX: unable to unsuspend media ' + media_filename)
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
if not os.path.isfile(media_filename):
continue
try:
os.rename(media_filename, media_filename + '.suspended')
except OSError:
print('EX: unable to suspend media ' + media_filename)
move_file(media_filename, media_filename + '.suspended',
'EX: unable to suspend media ' + media_filename)
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)
salt_filename = account_dir + '/.salt'
if os.path.isfile(salt_filename):
remove_file(salt_filename,
'EX: suspend_account unable to delete ' + salt_filename)
erase_file(salt_filename,
'EX: suspend_account unable to delete ' + salt_filename)
token_filename = acct_dir(base_dir, nickname, domain) + '/.token'
if os.path.isfile(token_filename):
remove_file(token_filename,
'EX: suspend_account unable to delete 2 ' + token_filename)
erase_file(token_filename,
'EX: suspend_account unable to delete 2 ' + token_filename)
suspended_filename = data_dir(base_dir) + '/suspended.txt'
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
if not os.path.isfile(media_filename):
continue
remove_file(media_filename,
'EX: unable to remove media ' + media_filename)
erase_file(media_filename,
'EX: unable to remove media ' + media_filename)
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):
shutil.rmtree(handle_dir, ignore_errors=False)
if os.path.isfile(handle_dir + '.json'):
remove_file(handle_dir + '.json',
'EX: remove_account unable to delete ' +
handle_dir + '.json')
erase_file(handle_dir + '.json',
'EX: remove_account unable to delete ' +
handle_dir + '.json')
if os.path.isfile(base_dir + '/wfendpoints/' + handle + '.json'):
remove_file(base_dir + '/wfendpoints/' + handle + '.json',
'EX: remove_account unable to delete ' +
base_dir + '/wfendpoints/' + handle + '.json')
erase_file(base_dir + '/wfendpoints/' + handle + '.json',
'EX: remove_account unable to delete ' +
base_dir + '/wfendpoints/' + handle + '.json')
if os.path.isfile(base_dir + '/keys/private/' + handle + '.key'):
remove_file(base_dir + '/keys/private/' + handle + '.key',
'EX: remove_account unable to delete ' +
base_dir + '/keys/private/' + handle + '.key')
erase_file(base_dir + '/keys/private/' + handle + '.key',
'EX: remove_account unable to delete ' +
base_dir + '/keys/private/' + handle + '.key')
if os.path.isfile(base_dir + '/keys/public/' + handle + '.pem'):
remove_file(base_dir + '/keys/public/' + handle + '.pem',
'EX: remove_account unable to delete ' +
base_dir + '/keys/public/' + handle + '.pem')
erase_file(base_dir + '/keys/public/' + handle + '.pem',
'EX: remove_account unable to delete ' +
base_dir + '/keys/public/' + handle + '.pem')
if os.path.isdir(base_dir + '/sharefiles/' + nickname):
shutil.rmtree(base_dir + '/sharefiles/' + nickname,
ignore_errors=False)
if os.path.isfile(base_dir + '/wfdeactivated/' + handle + '.json'):
remove_file(base_dir + '/wfdeactivated/' + handle + '.json',
'EX: remove_account unable to delete ' +
base_dir + '/wfdeactivated/' + handle + '.json')
erase_file(base_dir + '/wfdeactivated/' + handle + '.json',
'EX: remove_account unable to delete ' +
base_dir + '/wfdeactivated/' + handle + '.json')
if os.path.isdir(base_dir + '/sharefilesdeactivated/' + nickname):
shutil.rmtree(base_dir + '/sharefilesdeactivated/' + nickname,
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 append_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:
@ -1054,16 +1055,16 @@ def save_post_to_box(base_dir: str, http_prefix: str, post_id: str,
'/postcache/').replace('.json', '')
ssml_filename = base_filename + '.ssml'
if os.path.isfile(ssml_filename):
remove_file(ssml_filename,
'EX: ' +
'save_post_to_box unable to delete ssml file ' +
ssml_filename)
erase_file(ssml_filename,
'EX: ' +
'save_post_to_box unable to delete ssml file ' +
ssml_filename)
html_filename = base_filename + '.html'
if os.path.isfile(html_filename):
remove_file(html_filename,
'EX: ' +
'save_post_to_box unable to delete html file ' +
html_filename)
erase_file(html_filename,
'EX: ' +
'save_post_to_box unable to delete html file ' +
html_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'
if not os.path.isfile(pinned_filename):
return
remove_file(pinned_filename,
'EX: undo_pinned_post unable to delete ' + pinned_filename)
erase_file(pinned_filename,
'EX: undo_pinned_post unable to delete ' + pinned_filename)
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)
# get time difference
if not valid_post_date(last_modified, max_age_days, False):
remove_file(full_filename,
'EX: unable to delete from announce cache ' +
full_filename)
erase_file(full_filename,
'EX: unable to delete from announce cache ' +
full_filename)
expired_post_count += 1
return expired_post_count
@ -5141,9 +5142,9 @@ def _expire_conversations_for_person(base_dir: str,
last_modified = file_last_modified(full_filename)
# get time difference
if not valid_post_date(last_modified, max_age_days, False):
remove_file(full_filename,
'EX: unable to delete from conversations ' +
full_filename)
erase_file(full_filename,
'EX: unable to delete from conversations ' +
full_filename)
expired_post_count += 1
return expired_post_count
@ -5168,9 +5169,9 @@ def _expire_posts_cache_for_person(base_dir: str,
last_modified = file_last_modified(full_filename)
# get time difference
if not valid_post_date(last_modified, max_age_days, False):
remove_file(full_filename,
'EX: unable to delete from post cache ' +
full_filename)
erase_file(full_filename,
'EX: unable to delete from post cache ' +
full_filename)
expired_post_count += 1
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'
if keep_dms:
if os.path.isfile(expire_dms_filename):
remove_file(expire_dms_filename,
'EX: unable to write set_post_expiry_keep_dms False ' +
expire_dms_filename)
erase_file(expire_dms_filename,
'EX: unable to write set_post_expiry_keep_dms False ' +
expire_dms_filename)
return
save_flag_file(expire_dms_filename,
'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 the original file doesn't exist (was remotely deleted by
# its author) then remove the corresponding edits
if remove_file(full_filename,
'EX: unable to remove ' + ext_name + ' file ' +
full_filename):
if erase_file(full_filename,
'EX: unable to remove ' + ext_name + ' file ' +
full_filename):
edits_removed_ctr += 1
else:
continue
@ -5660,19 +5661,16 @@ def archive_posts_for_person(http_prefix: str, nickname: str, domain: str,
continue
if archive_dir:
archive_path = os.path.join(archive_dir, edit_filename)
try:
os.rename(file_path, archive_path)
ex_text = \
'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
except OSError:
print('EX: ' +
'archive_posts_for_person unable to archive ' +
ext_name + ' ' + file_path + ' -> ' +
archive_path)
else:
if remove_file(edit_filename,
'EX: archive_posts_for_person ' +
'unable to delete ' +
ext_name + ' ' + edit_filename):
ex_text = \
'EX: archive_posts_for_person unable to delete ' + \
ext_name + ' ' + edit_filename
if erase_file(edit_filename, ex_text):
remove_edits_ctr += 1
if archive_dir:
print('Archived ' + str(remove_edits_ctr) + ' ' + boxname +
@ -5724,10 +5722,8 @@ def archive_posts_for_person(http_prefix: str, nickname: str, domain: str,
continue
if archive_dir:
archive_path = os.path.join(archive_dir, post_filename)
try:
os.rename(file_path, archive_path)
except OSError:
print('EX: archive_posts_for_person unable to archive ' +
move_file(file_path, archive_path,
'EX: archive_posts_for_person unable to archive ' +
file_path + ' -> ' + archive_path)
extensions = (
@ -5737,25 +5733,18 @@ def archive_posts_for_person(http_prefix: str, nickname: str, domain: str,
for ext in extensions:
ext_path = file_path.replace('.json', '.' + ext)
if os.path.isfile(ext_path):
try:
os.rename(ext_path,
archive_path.replace('.json', '.' + ext))
except OSError:
print('EX: unable to archive file ' + ext_path +
' -> ' +
archive_path.replace('.json', '.' + ext))
new_ext_path = archive_path.replace('.json', '.' + ext)
move_file(ext_path, new_ext_path,
'EX: unable to archive file ' + ext_path +
' -> ' + new_ext_path)
continue
ext_path = file_path.replace('.json', '.json.' + ext)
if os.path.isfile(ext_path):
try:
os.rename(ext_path,
archive_path.replace('.json',
'.json.' + ext))
except OSError:
print('EX: unable to archive file ' + ext_path +
' -> ' +
archive_path.replace('.json',
'.json.' + ext))
new_ext_path = \
archive_path.replace('.json', '.json.' + ext)
move_file(ext_path, new_ext_path,
'EX: unable to archive file ' + ext_path +
' -> ' + new_ext_path)
else:
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)
post_cache_filename = post_cache_filename.replace('.json', '.html')
if os.path.isfile(post_cache_filename):
remove_file(post_cache_filename,
'EX: archive_posts_for_person unable to delete ' +
post_cache_filename)
erase_file(post_cache_filename,
'EX: archive_posts_for_person unable to delete ' +
post_cache_filename)
no_of_posts -= 1
remove_ctr += 1

View File

@ -40,7 +40,7 @@ from auth import create_basic_auth_header
from posts import get_person_box
from data import load_list
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
# 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)
if cached_post_filename:
if os.path.isfile(cached_post_filename):
remove_file(cached_post_filename,
'EX: update_reaction_collection unable to delete ' +
cached_post_filename)
erase_file(cached_post_filename,
'EX: update_reaction_collection unable to delete ' +
cached_post_filename)
obj = 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 ' + \
'unable to delete cached post ' + \
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)
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 data import load_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,
@ -307,9 +307,9 @@ def update_moved_actors(base_dir: str, debug: bool) -> None:
moved_accounts_filename = data_dir(base_dir) + '/actors_moved.txt'
if not moved_str:
if os.path.isfile(moved_accounts_filename):
remove_file(moved_accounts_filename,
'EX: update_moved_actors unable to remove ' +
moved_accounts_filename)
erase_file(moved_accounts_filename,
'EX: update_moved_actors unable to remove ' +
moved_accounts_filename)
return
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 data import load_list
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:
@ -316,8 +316,8 @@ def set_roles_from_list(base_dir: str, domain: str, admin_nickname: str,
if not fields.get(list_name):
if os.path.isfile(roles_filename):
_clear_role_status(base_dir, role_name)
remove_file(roles_filename,
'EX: failed to remove roles file ' + roles_filename)
erase_file(roles_filename,
'EX: failed to remove roles file ' + roles_filename)
return
_clear_role_status(base_dir, role_name)
if ',' in fields[list_name]:

View File

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

View File

@ -30,7 +30,7 @@ from data import append_string
from data import save_string
from data import save_binary
from data import load_binary
from data import remove_file
from data import erase_file
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))
# remove partial download
if os.path.isfile(image_filename):
remove_file(image_filename,
'EX: download_image unable to delete ' +
image_filename)
erase_file(image_filename,
'EX: download_image unable to delete ' +
image_filename)
else:
media_binary = result.content
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 data import save_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,
@ -172,9 +172,9 @@ def remove_shared_item2(base_dir: str, nickname: str, domain: str,
continue
if not os.path.isfile(item_idfile + '.' + ext):
continue
remove_file(item_idfile + '.' + ext,
'EX: remove_shared_item unable to delete ' +
item_idfile + '.' + ext)
erase_file(item_idfile + '.' + ext,
'EX: remove_shared_item unable to delete ' +
item_idfile + '.' + ext)
# remove the item itself
del shares_json[item_id]
save_json(shares_json, shares_filename)
@ -403,7 +403,7 @@ def add_share(base_dir: str,
ex_text = \
'EX: add_share unable to delete ' + \
str(image_filename)
remove_file(image_filename, ex_text)
erase_file(image_filename, ex_text)
image_url = \
http_prefix + '://' + domain_full + \
'/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:
if not os.path.isfile(item_idfile + '.' + ext):
continue
remove_file(item_idfile + '.' + ext,
'EX: _expire_shares_for_account unable to delete ' +
item_idfile + '.' + ext)
erase_file(item_idfile + '.' + ext,
'EX: _expire_shares_for_account unable to delete ' +
item_idfile + '.' + ext)
save_json(shares_json, shares_filename)
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_string
from data import save_string
from data import remove_file
from data import erase_file
TEST_SERVER_GROUP_RUNNING = False
@ -4353,7 +4353,7 @@ def _test_json_string() -> None:
assert received_json['content'] == message_str
encoded_str = json.dumps(test_json, ensure_ascii=False)
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():
@ -4364,7 +4364,7 @@ def _test_save_load_json():
}
test_filename = '.epicyon_tests_test_save_load_json.json'
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 os.path.isfile(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['param1'] == 3
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():
@ -4658,7 +4658,7 @@ def _test_danger_svg(base_dir: str) -> None:
with open(svg_image_filename, 'rb') as fp_svg:
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 not scan_themes_for_scripts(base_dir)

View File

@ -11,7 +11,7 @@ import os
from shutil import copyfile
from utils import data_dir
from data import load_string
from data import remove_file
from data import erase_file
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 = \
base_dir + '/theme/' + name + '/banner.txt'
if os.path.isfile(dir_str + '/banner.txt'):
remove_file(dir_str + '/banner.txt',
'EX: set_text_mode_theme unable to delete ' +
dir_str + '/banner.txt')
erase_file(dir_str + '/banner.txt',
'EX: set_text_mode_theme unable to delete ' +
dir_str + '/banner.txt')
if os.path.isfile(text_mode_banner_filename):
try:
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 save_string
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:
@ -108,7 +108,7 @@ def export_theme(base_dir: str, theme: str) -> bool:
if os.path.isfile(export_filename):
ex_text = \
'EX: export_theme unable to delete ' + str(export_filename)
remove_file(export_filename, ex_text)
erase_file(export_filename, ex_text)
try:
make_archive(base_dir + '/exports/' + theme, 'zip', theme_dir)
except BaseException:
@ -265,9 +265,9 @@ def _remove_theme(base_dir: str):
for filename in theme_files:
if not os.path.isfile(base_dir + '/' + filename):
continue
remove_file(base_dir + '/' + filename,
'EX: _remove_theme unable to delete ' +
base_dir + '/' + filename)
erase_file(base_dir + '/' + filename,
'EX: _remove_theme unable to delete ' +
base_dir + '/' + filename)
def set_css_param(css: str, param: str, value: str) -> str:
@ -469,9 +469,9 @@ def disable_grayscale(base_dir: str) -> None:
filename + ' [ex]')
grayscale_filename = data_dir(base_dir) + '/.grayscale'
if os.path.isfile(grayscale_filename):
remove_file(grayscale_filename,
'EX: disable_grayscale unable to delete ' +
grayscale_filename)
erase_file(grayscale_filename,
'EX: disable_grayscale unable to delete ' +
grayscale_filename)
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'
if os.path.isfile(custom_variables_file):
if remove_file(custom_variables_file,
'EX: ' +
'unable to remove theme designer settings on reset'):
if erase_file(custom_variables_file,
'EX: ' +
'unable to remove theme designer settings on 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
if os.path.isfile(dir_str + '/' +
background_type + '-background.' + ext):
remove_file(dir_str + '/' +
background_type + '-background.' + ext,
'EX: _set_theme_images unable to delete ' +
dir_str + '/' +
background_type + '-background.' + ext)
erase_file(dir_str + '/' +
background_type + '-background.' + ext,
'EX: _set_theme_images unable to delete ' +
dir_str + '/' +
background_type + '-background.' + ext)
if os.path.isfile(profile_image_filename) and \
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')
elif os.path.isfile(account_dir +
'/left_col_image.png'):
remove_file(account_dir + '/left_col_image.png',
'EX: _set_theme_images unable to delete ' +
account_dir + '/left_col_image.png')
erase_file(account_dir + '/left_col_image.png',
'EX: _set_theme_images unable to delete ' +
account_dir + '/left_col_image.png')
except OSError:
print('EX: _set_theme_images unable to copy ' +
left_col_image_filename)
@ -753,10 +753,10 @@ def _set_theme_images(base_dir: str, name: str) -> None:
else:
if os.path.isfile(account_dir +
'/right_col_image.png'):
remove_file(account_dir + '/right_col_image.png',
'EX: _set_theme_images ' +
'unable to delete ' +
account_dir + '/right_col_image.png')
erase_file(account_dir + '/right_col_image.png',
'EX: _set_theme_images ' +
'unable to delete ' +
account_dir + '/right_col_image.png')
except OSError:
print('EX: _set_theme_images unable to copy ' +
right_col_image_filename)
@ -780,8 +780,8 @@ def set_news_avatar(base_dir: str, name: str,
filename = base_dir + '/cache/avatars/' + avatar_filename
if os.path.isfile(filename):
remove_file(filename,
'EX: set_news_avatar unable to delete ' + filename)
erase_file(filename,
'EX: set_news_avatar unable to delete ' + filename)
if os.path.isdir(base_dir + '/cache/avatars'):
copyfile(new_filename, filename)
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 load_string
from data import append_string
from data import remove_file
from data import erase_file
VALID_HASHTAG_CHARS = \
set('_0123456789' +
@ -1799,7 +1799,7 @@ def _remove_attachment(base_dir: str, http_prefix: str,
ex_text = \
'EX: _remove_attachment unable to delete media file ' + \
str(media_filename)
remove_file(media_filename, ex_text)
erase_file(media_filename, ex_text)
# remove from the log file
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: _remove_attachment unable to delete media transcript ' + \
str(media_filename) + '.vtt'
remove_file(media_filename + '.vtt', ex_text)
erase_file(media_filename + '.vtt', ex_text)
# remove the etag
etag_filename: str = media_filename + '.etag'
@ -1830,7 +1830,7 @@ def _remove_attachment(base_dir: str, http_prefix: str,
ex_text = \
'EX: _remove_attachment unable to delete etag file ' + \
str(etag_filename)
remove_file(etag_filename, ex_text)
erase_file(etag_filename, ex_text)
post_json['attachment']: list[dict] = []
@ -1928,7 +1928,7 @@ def _delete_post_remove_replies(base_dir: str, nickname: str, domain: str,
ex_text = \
'EX: _delete_post_remove_replies ' + \
'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,
@ -1989,7 +1989,7 @@ def delete_cached_html(base_dir: str, nickname: str, domain: str,
ex_text = \
'EX: delete_cached_html unable to delete cached post file ' + \
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')
if os.path.isfile(cached_post_filename):
@ -1997,7 +1997,7 @@ def delete_cached_html(base_dir: str, nickname: str, domain: str,
'EX: ' + \
'delete_cached_html unable to delete cached ssml post file ' + \
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('/postcache/', '/outbox/')
@ -2006,7 +2006,7 @@ def delete_cached_html(base_dir: str, nickname: str, domain: str,
'EX: delete_cached_html ' + \
'unable to delete cached outbox ssml post file ' + \
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,
@ -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
ex_text = 'EX: _delete_hashtags_on_post ' + \
'unable to delete tag index ' + str(tag_index_filename)
remove_file(tag_index_filename, ex_text)
erase_file(tag_index_filename, ex_text)
else:
# write the new hashtag index without the given post in it
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 ' + \
'unable to remove conversation ' + \
str(conversation_filename) + '.muted'
remove_file(conversation_filename + '.muted', ex_text)
erase_file(conversation_filename + '.muted', ex_text)
ex_text = 'EX: _delete_conversation_post ' + \
'unable to remove conversation ' + \
str(conversation_filename)
remove_file(conversation_filename, ex_text)
erase_file(conversation_filename, ex_text)
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
ex_text = 'EX: delete_post unable to delete post ' + \
str(post_filename)
if remove_file(post_filename, ex_text):
if erase_file(post_filename, ex_text):
return True
return False
@ -2339,7 +2339,7 @@ def delete_post(base_dir: str, http_prefix: str,
if os.path.isfile(gemini_blog_filename):
ex_text = 'EX: delete_post unable to delete gemini post ' + \
str(gemini_blog_filename)
if remove_file(gemini_blog_filename, ex_text):
if erase_file(gemini_blog_filename, ex_text):
return True
# delete markdown blog post
@ -2351,7 +2351,7 @@ def delete_post(base_dir: str, http_prefix: str,
if os.path.isfile(markdown_blog_filename):
ex_text = 'EX: delete_post unable to delete markdown post ' + \
str(markdown_blog_filename)
if remove_file(markdown_blog_filename, ex_text):
if erase_file(markdown_blog_filename, ex_text):
return True
# delete micron blog post
@ -2363,7 +2363,7 @@ def delete_post(base_dir: str, http_prefix: str,
if os.path.isfile(micron_blog_filename):
ex_text = 'EX: delete_post unable to delete micron post ' + \
str(micron_blog_filename)
if remove_file(micron_blog_filename, ex_text):
if erase_file(micron_blog_filename, ex_text):
return True
# 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):
ex_text = 'EX: delete_post unable to remove ext ' + \
str(ext_filename)
remove_file(ext_filename, ex_text)
erase_file(ext_filename, ex_text)
elif post_filename.endswith('.json'):
ext_filename = post_filename.replace('.json', '') + '.' + ext
if os.path.isfile(ext_filename):
ex_text = 'EX: delete_post unable to remove ext ' + \
str(ext_filename)
remove_file(ext_filename, ex_text)
erase_file(ext_filename, ex_text)
# remove cached html version of the post
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
ex_text = 'EX: delete_post unable to delete post ' + \
str(post_filename)
if remove_file(post_filename, ex_text):
if erase_file(post_filename, ex_text):
return True
return False
@ -3481,8 +3481,8 @@ def set_minimize_all_images(base_dir: str,
if nickname in min_images_for_accounts:
min_images_for_accounts.remove(nickname)
if os.path.isfile(filename):
remove_file(filename,
'EX: unable to delete ' + filename)
erase_file(filename,
'EX: unable to delete ' + filename)
def load_reverse_timeline(base_dir: str) -> []:
@ -3526,9 +3526,9 @@ def save_reverse_timeline(base_dir: str, reverse_sequence: []) -> None:
reverse_filename)
else:
if os.path.isfile(reverse_filename):
remove_file(reverse_filename,
'EX: failed to delete reverse ' +
reverse_filename)
erase_file(reverse_filename,
'EX: failed to delete reverse ' +
reverse_filename)
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'
if os.path.isfile(premium_filename):
if not flag_state:
if not remove_file(premium_filename,
'EX: unable to remove premium flag ' +
premium_filename):
if not erase_file(premium_filename,
'EX: unable to remove premium flag ' +
premium_filename):
return False
else:
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_keyboard_navigation
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,
@ -132,8 +132,8 @@ def _html_calendar_day(person_cache: {}, translate: {},
account_dir = acct_dir(base_dir, nickname, domain)
calendar_file = account_dir + '/.newCalendar'
if os.path.isfile(calendar_file):
remove_file(calendar_file,
'EX: _html_calendar_day unable to delete ' + calendar_file)
erase_file(calendar_file,
'EX: _html_calendar_day unable to delete ' + calendar_file)
css_filename = base_dir + '/epicyon-calendar.css'
if os.path.isfile(base_dir + '/calendar.css'):

View File

@ -9,7 +9,7 @@ __module_group__ = "Timeline"
import os
from utils import acct_dir
from data import remove_file
from data import erase_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_file_exists = os.path.isfile(minimal_filename)
if minimal and minimal_file_exists:
remove_file(minimal_filename,
'EX: set_minimal unable to delete ' + minimal_filename)
erase_file(minimal_filename,
'EX: set_minimal unable to delete ' + minimal_filename)
elif not minimal and not minimal_file_exists:
save_flag_file(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 data import load_string
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,
@ -521,8 +521,8 @@ def html_timeline(default_timeline: str,
if os.path.isfile(dm_file):
new_dm = True
if box_name == 'dm':
remove_file(dm_file,
'EX: html_timeline unable to delete ' + dm_file)
erase_file(dm_file,
'EX: html_timeline unable to delete ' + dm_file)
# should the Replies button be highlighted?
new_reply: bool = False
@ -530,8 +530,8 @@ def html_timeline(default_timeline: str,
if os.path.isfile(reply_file):
new_reply = True
if box_name == 'tlreplies':
remove_file(reply_file,
'EX: html_timeline unable to delete ' + reply_file)
erase_file(reply_file,
'EX: html_timeline unable to delete ' + reply_file)
# should the Shares button be highlighted?
new_share: bool = False
@ -539,9 +539,9 @@ def html_timeline(default_timeline: str,
if os.path.isfile(new_share_file):
new_share = True
if box_name == 'tlshares':
remove_file(new_share_file,
'EX: html_timeline unable to delete ' +
new_share_file)
erase_file(new_share_file,
'EX: html_timeline unable to delete ' +
new_share_file)
# should the Wanted button be highlighted?
new_wanted: bool = False
@ -549,9 +549,9 @@ def html_timeline(default_timeline: str,
if os.path.isfile(new_wanted_file):
new_wanted = True
if box_name == 'tlwanted':
remove_file(new_wanted_file,
'EX: html_timeline unable to delete ' +
new_wanted_file)
erase_file(new_wanted_file,
'EX: html_timeline unable to delete ' +
new_wanted_file)
# should the Moderation/reports button be highlighted?
new_report: bool = False
@ -559,9 +559,9 @@ def html_timeline(default_timeline: str,
if os.path.isfile(new_report_file):
new_report = True
if box_name == 'moderation':
remove_file(new_report_file,
'EX: html_timeline unable to delete ' +
new_report_file)
erase_file(new_report_file,
'EX: html_timeline unable to delete ' +
new_report_file)
# show polls/votes?
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_binary
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,
@ -425,10 +425,10 @@ def update_avatar_image_cache(signing_priv_key_pem: str,
str(result.status_code))
# remove partial download
if os.path.isfile(avatar_image_filename):
remove_file(avatar_image_filename,
'EX: ' +
'update_avatar_image_cache unable to delete ' +
avatar_image_filename)
erase_file(avatar_image_filename,
'EX: ' +
'update_avatar_image_cache unable to delete ' +
avatar_image_filename)
else:
media_binary = result.content
if binary_is_image(avatar_image_filename, media_binary):