mirror of https://gitlab.com/bashrc2/epicyon
Show reasons for global domain blocks
parent
738a3faf3c
commit
6ea7ea623f
|
@ -8,6 +8,7 @@ __status__ = "Production"
|
||||||
__module_group__ = "Moderation"
|
__module_group__ = "Moderation"
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
from utils import text_in_file
|
||||||
from utils import is_artist
|
from utils import is_artist
|
||||||
from utils import is_account_dir
|
from utils import is_account_dir
|
||||||
from utils import get_full_domain
|
from utils import get_full_domain
|
||||||
|
@ -297,6 +298,32 @@ def html_account_info(translate: {},
|
||||||
return info_form
|
return info_form
|
||||||
|
|
||||||
|
|
||||||
|
def _get_global_block_reason(search_text: str,
|
||||||
|
blocking_reasons_filename: str) -> str:
|
||||||
|
"""Returns the reason why a domain was globally blocked
|
||||||
|
"""
|
||||||
|
if not text_in_file(search_text, blocking_reasons_filename):
|
||||||
|
return ''
|
||||||
|
|
||||||
|
reasons_str = ''
|
||||||
|
try:
|
||||||
|
with open(blocking_reasons_filename, 'r',
|
||||||
|
encoding='utf-8') as fp_reas:
|
||||||
|
reasons_str = fp_reas.read()
|
||||||
|
except OSError:
|
||||||
|
print('WARN: Failed to raed blocking reasons ' +
|
||||||
|
blocking_reasons_filename)
|
||||||
|
if not reasons_str:
|
||||||
|
return ''
|
||||||
|
|
||||||
|
reasons_lines = reasons_str.split('\n')
|
||||||
|
for line in reasons_lines:
|
||||||
|
if line.startswith(search_text):
|
||||||
|
if ' ' in line:
|
||||||
|
return line.split(' ', 1)[1]
|
||||||
|
return ''
|
||||||
|
|
||||||
|
|
||||||
def html_moderation_info(translate: {}, base_dir: str,
|
def html_moderation_info(translate: {}, base_dir: str,
|
||||||
nickname: str, domain: str, theme: str,
|
nickname: str, domain: str, theme: str,
|
||||||
access_keys: {}) -> str:
|
access_keys: {}) -> str:
|
||||||
|
@ -414,6 +441,11 @@ def html_moderation_info(translate: {}, base_dir: str,
|
||||||
|
|
||||||
blocking_filename = base_dir + '/accounts/blocking.txt'
|
blocking_filename = base_dir + '/accounts/blocking.txt'
|
||||||
if os.path.isfile(blocking_filename):
|
if os.path.isfile(blocking_filename):
|
||||||
|
blocking_reasons_filename = \
|
||||||
|
base_dir + '/accounts/blocking_reasons.txt'
|
||||||
|
blocking_reasons_exist = False
|
||||||
|
if os.path.isfile(blocking_reasons_filename):
|
||||||
|
blocking_reasons_exist = True
|
||||||
with open(blocking_filename, 'r', encoding='utf-8') as fp_block:
|
with open(blocking_filename, 'r', encoding='utf-8') as fp_block:
|
||||||
blocked_lines = fp_block.readlines()
|
blocked_lines = fp_block.readlines()
|
||||||
blocked_str = ''
|
blocked_str = ''
|
||||||
|
@ -423,6 +455,13 @@ def html_moderation_info(translate: {}, base_dir: str,
|
||||||
if not line:
|
if not line:
|
||||||
continue
|
continue
|
||||||
line = remove_eol(line).strip()
|
line = remove_eol(line).strip()
|
||||||
|
if blocking_reasons_exist:
|
||||||
|
reason = \
|
||||||
|
_get_global_block_reason(line,
|
||||||
|
blocking_reasons_filename)
|
||||||
|
if reason:
|
||||||
|
blocked_str += line + ' ' + reason + '\n'
|
||||||
|
continue
|
||||||
blocked_str += line + '\n'
|
blocked_str += line + '\n'
|
||||||
info_form += '<div class="container">\n'
|
info_form += '<div class="container">\n'
|
||||||
info_form += \
|
info_form += \
|
||||||
|
|
Loading…
Reference in New Issue