Snake case

merge-requests/30/head
Bob Mottram 2022-01-02 21:58:58 +00:00
parent b99cc2ecb1
commit 0d9e2748b1
1 changed files with 131 additions and 129 deletions

View File

@ -22,61 +22,61 @@ from threads import thread_with_trace
def manual_deny_follow_request(session, base_dir: str, def manual_deny_follow_request(session, base_dir: str,
http_prefix: str, http_prefix: str,
nickname: str, domain: str, port: int, nickname: str, domain: str, port: int,
denyHandle: str, deny_handle: str,
federation_list: [], federation_list: [],
send_threads: [], postLog: [], send_threads: [], post_log: [],
cached_webfingers: {}, person_cache: {}, cached_webfingers: {}, person_cache: {},
debug: bool, debug: bool,
project_version: str, project_version: str,
signing_priv_key_pem: str) -> None: signing_priv_key_pem: str) -> None:
"""Manually deny a follow request """Manually deny a follow request
""" """
accountsDir = acct_dir(base_dir, nickname, domain) accounts_dir = acct_dir(base_dir, nickname, domain)
# has this handle already been rejected? # has this handle already been rejected?
rejectedFollowsFilename = accountsDir + '/followrejects.txt' rejected_follows_filename = accounts_dir + '/followrejects.txt'
if os.path.isfile(rejectedFollowsFilename): if os.path.isfile(rejected_follows_filename):
if denyHandle in open(rejectedFollowsFilename).read(): if deny_handle in open(rejected_follows_filename).read():
remove_from_follow_requests(base_dir, nickname, domain, remove_from_follow_requests(base_dir, nickname, domain,
denyHandle, debug) deny_handle, debug)
print(denyHandle + ' has already been rejected as a follower of ' + print(deny_handle + ' has already been rejected as a follower of ' +
nickname) nickname)
return return
remove_from_follow_requests(base_dir, nickname, domain, denyHandle, debug) remove_from_follow_requests(base_dir, nickname, domain, deny_handle, debug)
# Store rejected follows # Store rejected follows
try: try:
with open(rejectedFollowsFilename, 'a+') as rejectsFile: with open(rejected_follows_filename, 'a+') as rejects_file:
rejectsFile.write(denyHandle + '\n') rejects_file.write(deny_handle + '\n')
except OSError: except OSError:
print('EX: unable to append ' + rejectedFollowsFilename) print('EX: unable to append ' + rejected_follows_filename)
denyNickname = denyHandle.split('@')[0] deny_nickname = deny_handle.split('@')[0]
denyDomain = \ deny_domain = \
denyHandle.split('@')[1].replace('\n', '').replace('\r', '') deny_handle.split('@')[1].replace('\n', '').replace('\r', '')
denyPort = port deny_port = port
if ':' in denyDomain: if ':' in deny_domain:
denyPort = get_port_from_domain(denyDomain) deny_port = get_port_from_domain(deny_domain)
denyDomain = remove_domain_port(denyDomain) deny_domain = remove_domain_port(deny_domain)
followed_account_rejects(session, base_dir, http_prefix, followed_account_rejects(session, base_dir, http_prefix,
nickname, domain, port, nickname, domain, port,
denyNickname, denyDomain, denyPort, deny_nickname, deny_domain, deny_port,
federation_list, federation_list,
send_threads, postLog, send_threads, post_log,
cached_webfingers, person_cache, cached_webfingers, person_cache,
debug, project_version, debug, project_version,
signing_priv_key_pem) signing_priv_key_pem)
print('Follow request from ' + denyHandle + ' was denied.') print('Follow request from ' + deny_handle + ' was denied.')
def manual_deny_follow_request_thread(session, base_dir: str, def manual_deny_follow_request_thread(session, base_dir: str,
http_prefix: str, http_prefix: str,
nickname: str, domain: str, port: int, nickname: str, domain: str, port: int,
denyHandle: str, deny_handle: str,
federation_list: [], federation_list: [],
send_threads: [], postLog: [], send_threads: [], post_log: [],
cached_webfingers: {}, person_cache: {}, cached_webfingers: {}, person_cache: {},
debug: bool, debug: bool,
project_version: str, project_version: str,
@ -89,9 +89,9 @@ def manual_deny_follow_request_thread(session, base_dir: str,
args=(session, base_dir, args=(session, base_dir,
http_prefix, http_prefix,
nickname, domain, port, nickname, domain, port,
denyHandle, deny_handle,
federation_list, federation_list,
send_threads, postLog, send_threads, post_log,
cached_webfingers, person_cache, cached_webfingers, person_cache,
debug, debug,
project_version, project_version,
@ -100,32 +100,32 @@ def manual_deny_follow_request_thread(session, base_dir: str,
send_threads.append(thr) send_threads.append(thr)
def _approve_follower_handle(accountDir: str, approveHandle: str) -> None: def _approve_follower_handle(account_dir: str, approve_handle: str) -> None:
""" Record manually approved handles so that if they unfollow and then """ Record manually approved handles so that if they unfollow and then
re-follow later then they don't need to be manually approved again re-follow later then they don't need to be manually approved again
""" """
approvedFilename = accountDir + '/approved.txt' approved_filename = account_dir + '/approved.txt'
if os.path.isfile(approvedFilename): if os.path.isfile(approved_filename):
if approveHandle not in open(approvedFilename).read(): if approve_handle not in open(approved_filename).read():
try: try:
with open(approvedFilename, 'a+') as approvedFile: with open(approved_filename, 'a+') as approved_file:
approvedFile.write(approveHandle + '\n') approved_file.write(approve_handle + '\n')
except OSError: except OSError:
print('EX: unable to append ' + approvedFilename) print('EX: unable to append ' + approved_filename)
else: else:
try: try:
with open(approvedFilename, 'w+') as approvedFile: with open(approved_filename, 'w+') as approved_file:
approvedFile.write(approveHandle + '\n') approved_file.write(approve_handle + '\n')
except OSError: except OSError:
print('EX: unable to write ' + approvedFilename) print('EX: unable to write ' + approved_filename)
def manual_approve_follow_request(session, base_dir: str, def manual_approve_follow_request(session, base_dir: str,
http_prefix: str, http_prefix: str,
nickname: str, domain: str, port: int, nickname: str, domain: str, port: int,
approveHandle: str, approve_handle: str,
federation_list: [], federation_list: [],
send_threads: [], postLog: [], send_threads: [], post_log: [],
cached_webfingers: {}, person_cache: {}, cached_webfingers: {}, person_cache: {},
debug: bool, debug: bool,
project_version: str, project_version: str,
@ -134,157 +134,159 @@ def manual_approve_follow_request(session, base_dir: str,
""" """
handle = nickname + '@' + domain handle = nickname + '@' + domain
print('Manual follow accept: ' + handle + print('Manual follow accept: ' + handle +
' approving follow request from ' + approveHandle) ' approving follow request from ' + approve_handle)
accountDir = base_dir + '/accounts/' + handle account_dir = base_dir + '/accounts/' + handle
approveFollowsFilename = accountDir + '/followrequests.txt' approve_follows_filename = account_dir + '/followrequests.txt'
if not os.path.isfile(approveFollowsFilename): if not os.path.isfile(approve_follows_filename):
print('Manual follow accept: follow requests file ' + print('Manual follow accept: follow requests file ' +
approveFollowsFilename + ' not found') approve_follows_filename + ' not found')
return return
# is the handle in the requests file? # is the handle in the requests file?
approveFollowsStr = '' approve_follows_str = ''
with open(approveFollowsFilename, 'r') as fpFollowers: with open(approve_follows_filename, 'r') as fp_foll:
approveFollowsStr = fpFollowers.read() approve_follows_str = fp_foll.read()
exists = False exists = False
approveHandleFull = approveHandle approve_handle_full = approve_handle
if approveHandle in approveFollowsStr: if approve_handle in approve_follows_str:
exists = True exists = True
elif '@' in approveHandle: elif '@' in approve_handle:
group_account = False group_account = False
if approveHandle.startswith('!'): if approve_handle.startswith('!'):
group_account = True group_account = True
reqNick = approveHandle.split('@')[0].replace('!', '') req_nick = approve_handle.split('@')[0].replace('!', '')
reqDomain = approveHandle.split('@')[1].strip() req_domain = approve_handle.split('@')[1].strip()
reqPrefix = http_prefix + '://' + reqDomain req_prefix = http_prefix + '://' + req_domain
paths = get_user_paths() paths = get_user_paths()
for userPath in paths: for user_path in paths:
if reqPrefix + userPath + reqNick in approveFollowsStr: if req_prefix + user_path + req_nick in approve_follows_str:
exists = True exists = True
approveHandleFull = reqPrefix + userPath + reqNick approve_handle_full = req_prefix + user_path + req_nick
if group_account: if group_account:
approveHandleFull = '!' + approveHandleFull approve_handle_full = '!' + approve_handle_full
break break
if not exists: if not exists:
print('Manual follow accept: ' + approveHandleFull + print('Manual follow accept: ' + approve_handle_full +
' not in requests file "' + ' not in requests file "' +
approveFollowsStr.replace('\n', ' ') + approve_follows_str.replace('\n', ' ') +
'" ' + approveFollowsFilename) '" ' + approve_follows_filename)
return return
with open(approveFollowsFilename + '.new', 'w+') as approvefilenew: with open(approve_follows_filename + '.new', 'w+') as approvefilenew:
updateApprovedFollowers = False update_approved_followers = False
followActivityfilename = None follow_activity_filename = None
with open(approveFollowsFilename, 'r') as approvefile: with open(approve_follows_filename, 'r') as approvefile:
for handleOfFollowRequester in approvefile: for handle_of_follow_requester in approvefile:
# is this the approved follow? # is this the approved follow?
if handleOfFollowRequester.startswith(approveHandleFull): if handle_of_follow_requester.startswith(approve_handle_full):
handleOfFollowRequester = \ handle_of_follow_requester = \
handleOfFollowRequester.replace('\n', '') handle_of_follow_requester.replace('\n', '')
handleOfFollowRequester = \ handle_of_follow_requester = \
handleOfFollowRequester.replace('\r', '') handle_of_follow_requester.replace('\r', '')
port2 = port port2 = port
if ':' in handleOfFollowRequester: if ':' in handle_of_follow_requester:
port2 = get_port_from_domain(handleOfFollowRequester) port2 = \
requestsDir = accountDir + '/requests' get_port_from_domain(handle_of_follow_requester)
followActivityfilename = \ requests_dir = account_dir + '/requests'
requestsDir + '/' + handleOfFollowRequester + '.follow' follow_activity_filename = \
if os.path.isfile(followActivityfilename): requests_dir + '/' + \
followJson = load_json(followActivityfilename) handle_of_follow_requester + '.follow'
if followJson: if os.path.isfile(follow_activity_filename):
approveNickname = approveHandle.split('@')[0] follow_json = load_json(follow_activity_filename)
approveDomain = approveHandle.split('@')[1] if follow_json:
approveDomain = \ approve_nickname = approve_handle.split('@')[0]
approveDomain.replace('\n', '') approve_domain = approve_handle.split('@')[1]
approveDomain = \ approve_domain = \
approveDomain.replace('\r', '') approve_domain.replace('\n', '')
approvePort = port2 approve_domain = \
if ':' in approveDomain: approve_domain.replace('\r', '')
approvePort = \ approve_port = port2
get_port_from_domain(approveDomain) if ':' in approve_domain:
approveDomain = \ approve_port = \
remove_domain_port(approveDomain) get_port_from_domain(approve_domain)
approve_domain = \
remove_domain_port(approve_domain)
print('Manual follow accept: Sending Accept for ' + print('Manual follow accept: Sending Accept for ' +
handle + ' follow request from ' + handle + ' follow request from ' +
approveNickname + '@' + approveDomain) approve_nickname + '@' + approve_domain)
followed_account_accepts(session, base_dir, followed_account_accepts(session, base_dir,
http_prefix, http_prefix,
nickname, domain, port, nickname, domain, port,
approveNickname, approve_nickname,
approveDomain, approve_domain,
approvePort, approve_port,
followJson['actor'], follow_json['actor'],
federation_list, federation_list,
followJson, follow_json,
send_threads, postLog, send_threads, post_log,
cached_webfingers, cached_webfingers,
person_cache, person_cache,
debug, debug,
project_version, False, project_version, False,
signing_priv_key_pem) signing_priv_key_pem)
updateApprovedFollowers = True update_approved_followers = True
else: else:
# this isn't the approved follow so it will remain # this isn't the approved follow so it will remain
# in the requests file # in the requests file
approvefilenew.write(handleOfFollowRequester) approvefilenew.write(handle_of_follow_requester)
followersFilename = accountDir + '/followers.txt' followers_filename = account_dir + '/followers.txt'
if updateApprovedFollowers: if update_approved_followers:
# update the followers # update the followers
print('Manual follow accept: updating ' + followersFilename) print('Manual follow accept: updating ' + followers_filename)
if os.path.isfile(followersFilename): if os.path.isfile(followers_filename):
if approveHandleFull not in open(followersFilename).read(): if approve_handle_full not in open(followers_filename).read():
try: try:
with open(followersFilename, 'r+') as followersFile: with open(followers_filename, 'r+') as followers_file:
content = followersFile.read() content = followers_file.read()
if approveHandleFull + '\n' not in content: if approve_handle_full + '\n' not in content:
followersFile.seek(0, 0) followers_file.seek(0, 0)
followersFile.write(approveHandleFull + '\n' + followers_file.write(approve_handle_full + '\n' +
content) content)
except Exception as ex: except Exception as ex:
print('WARN: Manual follow accept. ' + print('WARN: Manual follow accept. ' +
'Failed to write entry to followers file ' + str(ex)) 'Failed to write entry to followers file ' + str(ex))
else: else:
print('WARN: Manual follow accept: ' + approveHandleFull + print('WARN: Manual follow accept: ' + approve_handle_full +
' already exists in ' + followersFilename) ' already exists in ' + followers_filename)
else: else:
print('Manual follow accept: first follower accepted for ' + print('Manual follow accept: first follower accepted for ' +
handle + ' is ' + approveHandleFull) handle + ' is ' + approve_handle_full)
try: try:
with open(followersFilename, 'w+') as followersFile: with open(followers_filename, 'w+') as followers_file:
followersFile.write(approveHandleFull + '\n') followers_file.write(approve_handle_full + '\n')
except OSError: except OSError:
print('EX: unable to write ' + followersFilename) print('EX: unable to write ' + followers_filename)
# only update the follow requests file if the follow is confirmed to be # only update the follow requests file if the follow is confirmed to be
# in followers.txt # in followers.txt
if approveHandleFull in open(followersFilename).read(): if approve_handle_full in open(followers_filename).read():
# mark this handle as approved for following # mark this handle as approved for following
_approve_follower_handle(accountDir, approveHandle) _approve_follower_handle(account_dir, approve_handle)
# update the follow requests with the handles not yet approved # update the follow requests with the handles not yet approved
os.rename(approveFollowsFilename + '.new', approveFollowsFilename) os.rename(approve_follows_filename + '.new', approve_follows_filename)
# remove the .follow file # remove the .follow file
if followActivityfilename: if follow_activity_filename:
if os.path.isfile(followActivityfilename): if os.path.isfile(follow_activity_filename):
try: try:
os.remove(followActivityfilename) os.remove(follow_activity_filename)
except OSError: except OSError:
print('EX: manual_approve_follow_request ' + print('EX: manual_approve_follow_request ' +
'unable to delete ' + followActivityfilename) 'unable to delete ' + follow_activity_filename)
else: else:
try: try:
os.remove(approveFollowsFilename + '.new') os.remove(approve_follows_filename + '.new')
except OSError: except OSError:
print('EX: manual_approve_follow_request unable to delete ' + print('EX: manual_approve_follow_request unable to delete ' +
approveFollowsFilename + '.new') approve_follows_filename + '.new')
def manual_approve_follow_request_thread(session, base_dir: str, def manual_approve_follow_request_thread(session, base_dir: str,
http_prefix: str, http_prefix: str,
nickname: str, domain: str, port: int, nickname: str, domain: str, port: int,
approveHandle: str, approve_handle: str,
federation_list: [], federation_list: [],
send_threads: [], postLog: [], send_threads: [], post_log: [],
cached_webfingers: {}, cached_webfingers: {},
person_cache: {}, person_cache: {},
debug: bool, debug: bool,
@ -298,9 +300,9 @@ def manual_approve_follow_request_thread(session, base_dir: str,
args=(session, base_dir, args=(session, base_dir,
http_prefix, http_prefix,
nickname, domain, port, nickname, domain, port,
approveHandle, approve_handle,
federation_list, federation_list,
send_threads, postLog, send_threads, post_log,
cached_webfingers, person_cache, cached_webfingers, person_cache,
debug, debug,
project_version, project_version,