mirror of https://gitlab.com/bashrc2/epicyon
Snake case
parent
a68667d829
commit
c4203bc086
|
@ -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
|
||||
|
||||
|
|
32
daemon.py
32
daemon.py
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
20
inbox.py
20
inbox.py
|
@ -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)
|
||||
|
|
6
posts.py
6
posts.py
|
@ -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 = \
|
||||
|
|
73
utils.py
73
utils.py
|
@ -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
|
||||
|
||||
|
|
|
@ -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: {},
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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' + \
|
||||
|
|
Loading…
Reference in New Issue