Snake case

merge-requests/30/head
Bob Mottram 2021-12-28 14:55:45 +00:00
parent a68667d829
commit c4203bc086
9 changed files with 104 additions and 103 deletions

View File

@ -13,7 +13,7 @@ import urllib.parse
from shutil import copyfile
from utils import dangerous_svg
from utils import remove_domain_port
from utils import isValidLanguage
from utils import is_valid_language
from utils import get_image_extensions
from utils import load_json
from utils import save_json
@ -478,7 +478,7 @@ def validHashTag(hashtag: str) -> bool:
'ŴŵÝýŸÿŶŷŹźŽžŻż')
if set(hashtag).issubset(validChars):
return True
if isValidLanguage(hashtag):
if is_valid_language(hashtag):
return True
return False

View File

@ -287,7 +287,7 @@ from utils import set_config_param
from utils import get_config_param
from utils import remove_id_ending
from utils import undo_likes_collection_entry
from utils import deletePost
from utils import delete_post
from utils import is_blog_post
from utils import remove_avatar_from_cache
from utils import locate_post
@ -2012,12 +2012,12 @@ class PubServer(BaseHTTPRequestHandler):
if canRemovePost(base_dir,
nickname, domain, port,
moderationText):
deletePost(base_dir,
http_prefix,
nickname, domain,
post_filename,
debug,
self.server.recent_posts_cache)
delete_post(base_dir,
http_prefix,
nickname, domain,
post_filename,
debug,
self.server.recent_posts_cache)
if nickname != 'news':
# if this is a local blog post then also remove it
# from the news actor
@ -2028,12 +2028,12 @@ class PubServer(BaseHTTPRequestHandler):
if canRemovePost(base_dir,
'news', domain, port,
moderationText):
deletePost(base_dir,
http_prefix,
'news', domain,
post_filename,
debug,
self.server.recent_posts_cache)
delete_post(base_dir,
http_prefix,
'news', domain,
post_filename,
debug,
self.server.recent_posts_cache)
self._redirect_headers(actorStr + '/moderation',
cookie, calling_domain)
@ -7880,9 +7880,9 @@ class PubServer(BaseHTTPRequestHandler):
post_filename = \
locate_post(base_dir, nickname, domain, announceUrl)
if post_filename:
deletePost(base_dir, http_prefix,
nickname, domain, post_filename,
debug, recent_posts_cache)
delete_post(base_dir, http_prefix,
nickname, domain, post_filename,
debug, recent_posts_cache)
self._postToOutbox(newUndoAnnounce,
self.server.project_version, self.postToNickname)

View File

@ -17,7 +17,7 @@ from utils import remove_id_ending
from utils import get_nickname_from_actor
from utils import get_domain_from_actor
from utils import locate_post
from utils import deletePost
from utils import delete_post
from utils import remove_moderation_post_from_index
from utils import local_actor_url
from session import postJson
@ -168,8 +168,8 @@ def outboxDelete(base_dir: str, http_prefix: str,
print('DEBUG: c2s delete post not found in inbox or outbox')
print(messageId)
return True
deletePost(base_dir, http_prefix, deleteNickname, deleteDomain,
post_filename, debug, recent_posts_cache)
delete_post(base_dir, http_prefix, deleteNickname, deleteDomain,
post_filename, debug, recent_posts_cache)
if debug:
print('DEBUG: post deleted via c2s - ' + post_filename)

View File

@ -52,7 +52,7 @@ from utils import get_status_number
from utils import get_domain_from_actor
from utils import get_nickname_from_actor
from utils import locate_post
from utils import deletePost
from utils import delete_post
from utils import remove_moderation_post_from_index
from utils import load_json
from utils import save_json
@ -1787,9 +1787,9 @@ def _receiveDelete(session, handle: str, isGroup: bool, base_dir: str,
print('DEBUG: delete post not found in inbox or outbox')
print(messageId)
return True
deletePost(base_dir, http_prefix, handleNickname,
handleDomain, post_filename, debug,
recent_posts_cache)
delete_post(base_dir, http_prefix, handleNickname,
handleDomain, post_filename, debug,
recent_posts_cache)
if debug:
print('DEBUG: post deleted - ' + post_filename)
@ -1798,9 +1798,9 @@ def _receiveDelete(session, handle: str, isGroup: bool, base_dir: str,
post_filename = locate_post(base_dir, 'news',
handleDomain, messageId)
if post_filename:
deletePost(base_dir, http_prefix, 'news',
handleDomain, post_filename, debug,
recent_posts_cache)
delete_post(base_dir, http_prefix, 'news',
handleDomain, post_filename, debug,
recent_posts_cache)
if debug:
print('DEBUG: blog post deleted - ' + post_filename)
return True
@ -3607,9 +3607,9 @@ def _inboxAfterInitial(recent_posts_cache: {}, max_recent_posts: int,
# If this was an edit then delete the previous version of the post
if editedFilename:
deletePost(base_dir, http_prefix,
nickname, domain, editedFilename,
debug, recent_posts_cache)
delete_post(base_dir, http_prefix,
nickname, domain, editedFilename,
debug, recent_posts_cache)
# store the id of the last post made by this actor
_storeLastPostId(base_dir, nickname, domain, post_json_object)

View File

@ -56,7 +56,7 @@ from utils import create_person_dir
from utils import url_permitted
from utils import get_nickname_from_actor
from utils import get_domain_from_actor
from utils import deletePost
from utils import delete_post
from utils import valid_nickname
from utils import locate_post
from utils import load_json
@ -4034,8 +4034,8 @@ def archivePostsForPerson(http_prefix: str, nickname: str, domain: str,
os.rename(extPath,
archivePath.replace('.json', '.json.' + ext))
else:
deletePost(base_dir, http_prefix, nickname, domain,
filePath, False, recent_posts_cache)
delete_post(base_dir, http_prefix, nickname, domain,
filePath, False, recent_posts_cache)
# remove cached html posts
postCacheFilename = \

View File

@ -1530,9 +1530,9 @@ def _is_reply_to_blog_post(base_dir: str, nickname: str, domain: str,
return False
def _deletePostRemoveReplies(base_dir: str, nickname: str, domain: str,
http_prefix: str, post_filename: str,
recent_posts_cache: {}, debug: bool) -> None:
def _delete_post_remove_replies(base_dir: str, nickname: str, domain: str,
http_prefix: str, post_filename: str,
recent_posts_cache: {}, debug: bool) -> None:
"""Removes replies when deleting a post
"""
replies_filename = post_filename.replace('.json', '.replies')
@ -1546,15 +1546,15 @@ def _deletePostRemoveReplies(base_dir: str, nickname: str, domain: str,
if not reply_file:
continue
if os.path.isfile(reply_file):
deletePost(base_dir, http_prefix,
nickname, domain, reply_file, debug,
recent_posts_cache)
delete_post(base_dir, http_prefix,
nickname, domain, reply_file, debug,
recent_posts_cache)
# remove the replies file
try:
os.remove(replies_filename)
except OSError:
print('EX: _deletePostRemoveReplies unable to delete replies file ' +
str(replies_filename))
print('EX: _delete_post_remove_replies ' +
'unable to delete replies file ' + str(replies_filename))
def _is_bookmarked(base_dir: str, nickname: str, domain: str,
@ -1603,8 +1603,8 @@ def remove_post_from_cache(post_json_object: {},
del recent_posts_cache['html'][post_id]
def _deleteCachedHtml(base_dir: str, nickname: str, domain: str,
post_json_object: {}):
def _delete_cached_html(base_dir: str, nickname: str, domain: str,
post_json_object: {}):
"""Removes cached html file for the given post
"""
cached_post_filename = \
@ -1614,12 +1614,12 @@ def _deleteCachedHtml(base_dir: str, nickname: str, domain: str,
try:
os.remove(cached_post_filename)
except OSError:
print('EX: _deleteCachedHtml ' +
print('EX: _delete_cached_html ' +
'unable to delete cached post file ' +
str(cached_post_filename))
def _deleteHashtagsOnPost(base_dir: str, post_json_object: {}) -> None:
def _delete_hashtags_on_post(base_dir: str, post_json_object: {}) -> None:
"""Removes hashtags when a post is deleted
"""
remove_hashtag_index = False
@ -1665,8 +1665,8 @@ def _deleteHashtagsOnPost(base_dir: str, post_json_object: {}) -> None:
try:
os.remove(tag_index_filename)
except OSError:
print('EX: _deleteHashtagsOnPost unable to delete tag index ' +
str(tag_index_filename))
print('EX: _delete_hashtags_on_post ' +
'unable to delete tag index ' + str(tag_index_filename))
else:
# write the new hashtag index without the given post in it
with open(tag_index_filename, 'w+') as index_file:
@ -1716,23 +1716,23 @@ def _deleteConversationPost(base_dir: str, nickname: str, domain: str,
str(conversation_filename))
def deletePost(base_dir: str, http_prefix: str,
nickname: str, domain: str, post_filename: str,
debug: bool, recent_posts_cache: {}) -> None:
def delete_post(base_dir: str, http_prefix: str,
nickname: str, domain: str, post_filename: str,
debug: bool, recent_posts_cache: {}) -> None:
"""Recursively deletes a post and its replies and attachments
"""
post_json_object = load_json(post_filename, 1)
if not post_json_object:
# remove any replies
_deletePostRemoveReplies(base_dir, nickname, domain,
http_prefix, post_filename,
recent_posts_cache, debug)
_delete_post_remove_replies(base_dir, nickname, domain,
http_prefix, post_filename,
recent_posts_cache, debug)
# finally, remove the post itself
try:
os.remove(post_filename)
except OSError:
if debug:
print('EX: deletePost unable to delete post ' +
print('EX: delete_post unable to delete post ' +
str(post_filename))
return
@ -1761,11 +1761,11 @@ def deletePost(base_dir: str, http_prefix: str,
try:
os.remove(ext_filename)
except OSError:
print('EX: deletePost unable to remove ext ' +
print('EX: delete_post unable to remove ext ' +
str(ext_filename))
# remove cached html version of the post
_deleteCachedHtml(base_dir, nickname, domain, post_json_object)
_delete_cached_html(base_dir, nickname, domain, post_json_object)
has_object = False
if post_json_object.get('object'):
@ -1781,21 +1781,22 @@ def deletePost(base_dir: str, http_prefix: str,
# remove any hashtags index entries
if has_object:
_deleteHashtagsOnPost(base_dir, post_json_object)
_delete_hashtags_on_post(base_dir, post_json_object)
# remove any replies
_deletePostRemoveReplies(base_dir, nickname, domain,
http_prefix, post_filename,
recent_posts_cache, debug)
_delete_post_remove_replies(base_dir, nickname, domain,
http_prefix, post_filename,
recent_posts_cache, debug)
# finally, remove the post itself
try:
os.remove(post_filename)
except OSError:
if debug:
print('EX: deletePost unable to delete post ' + str(post_filename))
print('EX: delete_post unable to delete post ' +
str(post_filename))
def isValidLanguage(text: str) -> bool:
def is_valid_language(text: str) -> bool:
"""Returns true if the given text contains a valid
natural language string
"""
@ -1844,7 +1845,7 @@ def isValidLanguage(text: str) -> bool:
return False
def _getReservedWords() -> str:
def _get_reserved_words() -> str:
return ('inbox', 'dm', 'outbox', 'following',
'public', 'followers', 'category',
'channel', 'calendar', 'video-channels',
@ -1868,10 +1869,10 @@ def _getReservedWords() -> str:
'ontologies', 'data')
def getNicknameValidationPattern() -> str:
def get_nickname_validation_pattern() -> str:
"""Returns a html text input validation pattern for nickname
"""
reserved_names = _getReservedWords()
reserved_names = _get_reserved_words()
pattern = ''
for word in reserved_names:
if pattern:
@ -1881,10 +1882,10 @@ def getNicknameValidationPattern() -> str:
return pattern + '.*${1,30}'
def _isReservedName(nickname: str) -> bool:
def _is_reserved_name(nickname: str) -> bool:
"""Is the given nickname reserved for some special function?
"""
reserved_names = _getReservedWords()
reserved_names = _get_reserved_words()
if nickname in reserved_names:
return True
return False
@ -1897,7 +1898,7 @@ def valid_nickname(domain: str, nickname: str) -> bool:
return False
if len(nickname) > 30:
return False
if not isValidLanguage(nickname):
if not is_valid_language(nickname):
return False
forbidden_chars = ('.', ' ', '/', '?', ':', ';', '@', '#', '!')
for char in forbidden_chars:
@ -1906,7 +1907,7 @@ def valid_nickname(domain: str, nickname: str) -> bool:
# this should only apply for the shared inbox
if nickname == domain:
return False
if _isReservedName(nickname):
if _is_reserved_name(nickname):
return False
return True

View File

@ -51,49 +51,49 @@ def htmlCalendarDeleteConfirm(css_cache: {}, translate: {}, base_dir: str,
if not post_json_object:
return None
deletePostStr = None
delete_postStr = None
cssFilename = base_dir + '/epicyon-profile.css'
if os.path.isfile(base_dir + '/epicyon.css'):
cssFilename = base_dir + '/epicyon.css'
instanceTitle = \
get_config_param(base_dir, 'instanceTitle')
deletePostStr = \
delete_postStr = \
htmlHeaderWithExternalStyle(cssFilename, instanceTitle, None)
deletePostStr += \
delete_postStr += \
'<center><h1>' + postTime + ' ' + str(year) + '/' + \
str(monthNumber) + \
'/' + str(dayNumber) + '</h1></center>'
deletePostStr += '<center>'
deletePostStr += ' <p class="followText">' + \
delete_postStr += '<center>'
delete_postStr += ' <p class="followText">' + \
translate['Delete this event'] + '</p>'
postActor = get_alt_path(actor, domain_full, calling_domain)
deletePostStr += \
delete_postStr += \
' <form method="POST" action="' + postActor + '/rmpost">\n'
deletePostStr += ' <input type="hidden" name="year" value="' + \
delete_postStr += ' <input type="hidden" name="year" value="' + \
str(year) + '">\n'
deletePostStr += ' <input type="hidden" name="month" value="' + \
delete_postStr += ' <input type="hidden" name="month" value="' + \
str(monthNumber) + '">\n'
deletePostStr += ' <input type="hidden" name="day" value="' + \
delete_postStr += ' <input type="hidden" name="day" value="' + \
str(dayNumber) + '">\n'
deletePostStr += \
delete_postStr += \
' <input type="hidden" name="pageNumber" value="1">\n'
deletePostStr += \
delete_postStr += \
' <input type="hidden" name="messageId" value="' + \
messageId + '">\n'
deletePostStr += \
delete_postStr += \
' <button type="submit" class="button" name="submitYes">' + \
translate['Yes'] + '</button>\n'
deletePostStr += \
delete_postStr += \
' <a href="' + actor + '/calendar?year=' + \
str(year) + '?month=' + \
str(monthNumber) + '"><button class="button">' + \
translate['No'] + '</button></a>\n'
deletePostStr += ' </form>\n'
deletePostStr += '</center>\n'
deletePostStr += htmlFooter()
return deletePostStr
delete_postStr += ' </form>\n'
delete_postStr += '</center>\n'
delete_postStr += htmlFooter()
return delete_postStr
def _htmlCalendarDay(person_cache: {}, css_cache: {}, translate: {},

View File

@ -55,16 +55,16 @@ def htmlConfirmDelete(css_cache: {},
if not post_json_object:
return None
deletePostStr = None
delete_postStr = None
cssFilename = base_dir + '/epicyon-profile.css'
if os.path.isfile(base_dir + '/epicyon.css'):
cssFilename = base_dir + '/epicyon.css'
instanceTitle = \
get_config_param(base_dir, 'instanceTitle')
deletePostStr = \
delete_postStr = \
htmlHeaderWithExternalStyle(cssFilename, instanceTitle, None)
deletePostStr += \
delete_postStr += \
individualPostAsHtml(signing_priv_key_pem,
True, recent_posts_cache, max_recent_posts,
translate, pageNumber,
@ -80,30 +80,30 @@ def htmlConfirmDelete(css_cache: {},
theme_name, system_language, max_like_count,
False, False, False, False, False, False,
cw_lists, lists_enabled)
deletePostStr += '<center>'
deletePostStr += \
delete_postStr += '<center>'
delete_postStr += \
' <p class="followText">' + \
translate['Delete this post?'] + '</p>'
postActor = get_alt_path(actor, domain_full, calling_domain)
deletePostStr += \
delete_postStr += \
' <form method="POST" action="' + postActor + '/rmpost">\n'
deletePostStr += \
delete_postStr += \
' <input type="hidden" name="pageNumber" value="' + \
str(pageNumber) + '">\n'
deletePostStr += \
delete_postStr += \
' <input type="hidden" name="messageId" value="' + \
messageId + '">\n'
deletePostStr += \
delete_postStr += \
' <button type="submit" class="button" name="submitYes">' + \
translate['Yes'] + '</button>\n'
deletePostStr += \
delete_postStr += \
' <a href="' + actor + '/inbox"><button class="button">' + \
translate['No'] + '</button></a>\n'
deletePostStr += ' </form>\n'
deletePostStr += '</center>\n'
deletePostStr += htmlFooter()
return deletePostStr
delete_postStr += ' </form>\n'
delete_postStr += '</center>\n'
delete_postStr += htmlFooter()
return delete_postStr
def htmlConfirmRemoveSharedItem(css_cache: {}, translate: {}, base_dir: str,

View File

@ -12,7 +12,7 @@ import time
from shutil import copyfile
from utils import get_config_param
from utils import no_of_accounts
from utils import getNicknameValidationPattern
from utils import get_nickname_validation_pattern
from webapp_utils import setCustomBackground
from webapp_utils import htmlHeaderWithWebsiteMarkup
from webapp_utils import htmlFooter
@ -155,7 +155,7 @@ def htmlLogin(css_cache: {}, translate: {},
http_prefix, domain,
system_language)
nicknamePattern = getNicknameValidationPattern()
nicknamePattern = get_nickname_validation_pattern()
instanceTitle = get_config_param(base_dir, 'instanceTitle')
loginForm += \
'<br>\n' + \