mirror of https://gitlab.com/bashrc2/epicyon
Function for filtering section of edit profile screen
parent
aaa71b542e
commit
6a8148d703
|
@ -1413,6 +1413,178 @@ def _htmlEditProfileGitProjects(baseDir: str, nickname: str, domain: str,
|
||||||
return editProfileForm
|
return editProfileForm
|
||||||
|
|
||||||
|
|
||||||
|
def _htmlEditProfileFiltering(baseDir: str, nickname: str, domain: str,
|
||||||
|
translate: {}) -> str:
|
||||||
|
"""Filtering and blocking section of edit profile screen
|
||||||
|
"""
|
||||||
|
filterStr = ''
|
||||||
|
filterFilename = \
|
||||||
|
baseDir + '/accounts/' + nickname + '@' + domain + '/filters.txt'
|
||||||
|
if os.path.isfile(filterFilename):
|
||||||
|
with open(filterFilename, 'r') as filterfile:
|
||||||
|
filterStr = filterfile.read()
|
||||||
|
|
||||||
|
switchStr = ''
|
||||||
|
switchFilename = \
|
||||||
|
baseDir + '/accounts/' + \
|
||||||
|
nickname + '@' + domain + '/replacewords.txt'
|
||||||
|
if os.path.isfile(switchFilename):
|
||||||
|
with open(switchFilename, 'r') as switchfile:
|
||||||
|
switchStr = switchfile.read()
|
||||||
|
|
||||||
|
autoTags = ''
|
||||||
|
autoTagsFilename = \
|
||||||
|
baseDir + '/accounts/' + \
|
||||||
|
nickname + '@' + domain + '/autotags.txt'
|
||||||
|
if os.path.isfile(autoTagsFilename):
|
||||||
|
with open(autoTagsFilename, 'r') as autoTagsFile:
|
||||||
|
autoTags = autoTagsFile.read()
|
||||||
|
|
||||||
|
autoCW = ''
|
||||||
|
autoCWFilename = \
|
||||||
|
baseDir + '/accounts/' + \
|
||||||
|
nickname + '@' + domain + '/autocw.txt'
|
||||||
|
if os.path.isfile(autoCWFilename):
|
||||||
|
with open(autoCWFilename, 'r') as autoCWFile:
|
||||||
|
autoCW = autoCWFile.read()
|
||||||
|
|
||||||
|
blockedStr = ''
|
||||||
|
blockedFilename = \
|
||||||
|
baseDir + '/accounts/' + \
|
||||||
|
nickname + '@' + domain + '/blocking.txt'
|
||||||
|
if os.path.isfile(blockedFilename):
|
||||||
|
with open(blockedFilename, 'r') as blockedfile:
|
||||||
|
blockedStr = blockedfile.read()
|
||||||
|
|
||||||
|
dmAllowedInstancesStr = ''
|
||||||
|
dmAllowedInstancesFilename = \
|
||||||
|
baseDir + '/accounts/' + \
|
||||||
|
nickname + '@' + domain + '/dmAllowedInstances.txt'
|
||||||
|
if os.path.isfile(dmAllowedInstancesFilename):
|
||||||
|
with open(dmAllowedInstancesFilename, 'r') as dmAllowedInstancesFile:
|
||||||
|
dmAllowedInstancesStr = dmAllowedInstancesFile.read()
|
||||||
|
|
||||||
|
allowedInstancesStr = ''
|
||||||
|
allowedInstancesFilename = \
|
||||||
|
baseDir + '/accounts/' + \
|
||||||
|
nickname + '@' + domain + '/allowedinstances.txt'
|
||||||
|
if os.path.isfile(allowedInstancesFilename):
|
||||||
|
with open(allowedInstancesFilename, 'r') as allowedInstancesFile:
|
||||||
|
allowedInstancesStr = allowedInstancesFile.read()
|
||||||
|
|
||||||
|
editProfileForm = '<details><summary class="cw">' + \
|
||||||
|
translate['Filtering and Blocking'] + '</summary>\n'
|
||||||
|
editProfileForm += ' <div class="container">\n'
|
||||||
|
|
||||||
|
editProfileForm += \
|
||||||
|
'<label class="labels">' + \
|
||||||
|
translate['City for spoofed GPS image metadata'] + \
|
||||||
|
'</label><br>\n'
|
||||||
|
|
||||||
|
cityFilename = baseDir + '/accounts/' + \
|
||||||
|
nickname + '@' + domain + '/city.txt'
|
||||||
|
if os.path.isfile(cityFilename):
|
||||||
|
with open(cityFilename, 'r') as fp:
|
||||||
|
city = fp.read().replace('\n', '')
|
||||||
|
locationsFilename = baseDir + '/custom_locations.txt'
|
||||||
|
if not os.path.isfile(locationsFilename):
|
||||||
|
locationsFilename = baseDir + '/locations.txt'
|
||||||
|
cities = []
|
||||||
|
with open(locationsFilename, "r") as f:
|
||||||
|
cities = f.readlines()
|
||||||
|
cities.sort()
|
||||||
|
editProfileForm += ' <select id="cityDropdown" ' + \
|
||||||
|
'name="cityDropdown" class="theme">\n'
|
||||||
|
city = city.lower()
|
||||||
|
for cityName in cities:
|
||||||
|
if ':' not in cityName:
|
||||||
|
continue
|
||||||
|
citySelected = ''
|
||||||
|
cityName = cityName.split(':')[0]
|
||||||
|
cityName = cityName.lower()
|
||||||
|
if city in cityName:
|
||||||
|
citySelected = ' selected'
|
||||||
|
editProfileForm += \
|
||||||
|
' <option value="' + cityName + \
|
||||||
|
'"' + citySelected.title() + '>' + \
|
||||||
|
cityName + '</option>\n'
|
||||||
|
editProfileForm += ' </select><br>\n'
|
||||||
|
|
||||||
|
editProfileForm += \
|
||||||
|
' <b><label class="labels">' + \
|
||||||
|
translate['Filtered words'] + '</label></b>\n'
|
||||||
|
editProfileForm += ' <br><label class="labels">' + \
|
||||||
|
translate['One per line'] + '</label>\n'
|
||||||
|
editProfileForm += ' <textarea id="message" ' + \
|
||||||
|
'name="filteredWords" style="height:200px" spellcheck="false">' + \
|
||||||
|
filterStr + '</textarea>\n'
|
||||||
|
|
||||||
|
editProfileForm += \
|
||||||
|
' <br><b><label class="labels">' + \
|
||||||
|
translate['Word Replacements'] + '</label></b>\n'
|
||||||
|
editProfileForm += ' <br><label class="labels">A -> B</label>\n'
|
||||||
|
editProfileForm += \
|
||||||
|
' <textarea id="message" name="switchWords" ' + \
|
||||||
|
'style="height:200px" spellcheck="false">' + \
|
||||||
|
switchStr + '</textarea>\n'
|
||||||
|
|
||||||
|
editProfileForm += \
|
||||||
|
' <br><b><label class="labels">' + \
|
||||||
|
translate['Autogenerated Hashtags'] + '</label></b>\n'
|
||||||
|
editProfileForm += ' <br><label class="labels">A -> #B</label>\n'
|
||||||
|
editProfileForm += \
|
||||||
|
' <textarea id="message" name="autoTags" ' + \
|
||||||
|
'style="height:200px" spellcheck="false">' + \
|
||||||
|
autoTags + '</textarea>\n'
|
||||||
|
|
||||||
|
editProfileForm += \
|
||||||
|
' <br><b><label class="labels">' + \
|
||||||
|
translate['Autogenerated Content Warnings'] + '</label></b>\n'
|
||||||
|
editProfileForm += ' <br><label class="labels">A -> B</label>\n'
|
||||||
|
editProfileForm += \
|
||||||
|
' <textarea id="message" name="autoCW" ' + \
|
||||||
|
'style="height:200px" spellcheck="true">' + autoCW + '</textarea>\n'
|
||||||
|
|
||||||
|
editProfileForm += \
|
||||||
|
' <br><b><label class="labels">' + \
|
||||||
|
translate['Blocked accounts'] + '</label></b>\n'
|
||||||
|
idx = 'Blocked accounts, one per line, in the form ' + \
|
||||||
|
'nickname@domain or *@blockeddomain'
|
||||||
|
editProfileForm += \
|
||||||
|
' <br><label class="labels">' + translate[idx] + '</label>\n'
|
||||||
|
editProfileForm += \
|
||||||
|
' <textarea id="message" name="blocked" style="height:200px" ' + \
|
||||||
|
'spellcheck="false">' + blockedStr + '</textarea>\n'
|
||||||
|
|
||||||
|
editProfileForm += \
|
||||||
|
' <br><b><label class="labels">' + \
|
||||||
|
translate['Direct Message permitted instances'] + '</label></b>\n'
|
||||||
|
idx = 'Direct messages are always allowed from these instances.'
|
||||||
|
editProfileForm += \
|
||||||
|
' <br><label class="labels">' + \
|
||||||
|
translate[idx] + '</label>\n'
|
||||||
|
editProfileForm += \
|
||||||
|
' <textarea id="message" name="dmAllowedInstances" ' + \
|
||||||
|
'style="height:200px" spellcheck="false">' + \
|
||||||
|
dmAllowedInstancesStr + '</textarea>\n'
|
||||||
|
|
||||||
|
editProfileForm += \
|
||||||
|
' <br><b><label class="labels">' + \
|
||||||
|
translate['Federation list'] + '</label></b>\n'
|
||||||
|
idx = 'Federate only with a defined set of instances. ' + \
|
||||||
|
'One domain name per line.'
|
||||||
|
editProfileForm += \
|
||||||
|
' <br><label class="labels">' + \
|
||||||
|
translate[idx] + '</label>\n'
|
||||||
|
editProfileForm += \
|
||||||
|
' <textarea id="message" name="allowedInstances" ' + \
|
||||||
|
'style="height:200px" spellcheck="false">' + \
|
||||||
|
allowedInstancesStr + '</textarea>\n'
|
||||||
|
|
||||||
|
editProfileForm += ' </div></details>\n'
|
||||||
|
return editProfileForm
|
||||||
|
|
||||||
|
|
||||||
def htmlEditProfile(cssCache: {}, translate: {}, baseDir: str, path: str,
|
def htmlEditProfile(cssCache: {}, translate: {}, baseDir: str, path: str,
|
||||||
domain: str, port: int, httpPrefix: str,
|
domain: str, port: int, httpPrefix: str,
|
||||||
defaultTimeline: str, theme: str,
|
defaultTimeline: str, theme: str,
|
||||||
|
@ -1514,61 +1686,6 @@ def htmlEditProfile(cssCache: {}, translate: {}, baseDir: str, path: str,
|
||||||
blogsInstanceStr = 'checked'
|
blogsInstanceStr = 'checked'
|
||||||
mediaInstanceStr = newsInstanceStr = ''
|
mediaInstanceStr = newsInstanceStr = ''
|
||||||
|
|
||||||
filterStr = ''
|
|
||||||
filterFilename = \
|
|
||||||
baseDir + '/accounts/' + nickname + '@' + domain + '/filters.txt'
|
|
||||||
if os.path.isfile(filterFilename):
|
|
||||||
with open(filterFilename, 'r') as filterfile:
|
|
||||||
filterStr = filterfile.read()
|
|
||||||
|
|
||||||
switchStr = ''
|
|
||||||
switchFilename = \
|
|
||||||
baseDir + '/accounts/' + \
|
|
||||||
nickname + '@' + domain + '/replacewords.txt'
|
|
||||||
if os.path.isfile(switchFilename):
|
|
||||||
with open(switchFilename, 'r') as switchfile:
|
|
||||||
switchStr = switchfile.read()
|
|
||||||
|
|
||||||
autoTags = ''
|
|
||||||
autoTagsFilename = \
|
|
||||||
baseDir + '/accounts/' + \
|
|
||||||
nickname + '@' + domain + '/autotags.txt'
|
|
||||||
if os.path.isfile(autoTagsFilename):
|
|
||||||
with open(autoTagsFilename, 'r') as autoTagsFile:
|
|
||||||
autoTags = autoTagsFile.read()
|
|
||||||
|
|
||||||
autoCW = ''
|
|
||||||
autoCWFilename = \
|
|
||||||
baseDir + '/accounts/' + \
|
|
||||||
nickname + '@' + domain + '/autocw.txt'
|
|
||||||
if os.path.isfile(autoCWFilename):
|
|
||||||
with open(autoCWFilename, 'r') as autoCWFile:
|
|
||||||
autoCW = autoCWFile.read()
|
|
||||||
|
|
||||||
blockedStr = ''
|
|
||||||
blockedFilename = \
|
|
||||||
baseDir + '/accounts/' + \
|
|
||||||
nickname + '@' + domain + '/blocking.txt'
|
|
||||||
if os.path.isfile(blockedFilename):
|
|
||||||
with open(blockedFilename, 'r') as blockedfile:
|
|
||||||
blockedStr = blockedfile.read()
|
|
||||||
|
|
||||||
dmAllowedInstancesStr = ''
|
|
||||||
dmAllowedInstancesFilename = \
|
|
||||||
baseDir + '/accounts/' + \
|
|
||||||
nickname + '@' + domain + '/dmAllowedInstances.txt'
|
|
||||||
if os.path.isfile(dmAllowedInstancesFilename):
|
|
||||||
with open(dmAllowedInstancesFilename, 'r') as dmAllowedInstancesFile:
|
|
||||||
dmAllowedInstancesStr = dmAllowedInstancesFile.read()
|
|
||||||
|
|
||||||
allowedInstancesStr = ''
|
|
||||||
allowedInstancesFilename = \
|
|
||||||
baseDir + '/accounts/' + \
|
|
||||||
nickname + '@' + domain + '/allowedinstances.txt'
|
|
||||||
if os.path.isfile(allowedInstancesFilename):
|
|
||||||
with open(allowedInstancesFilename, 'r') as allowedInstancesFile:
|
|
||||||
allowedInstancesStr = allowedInstancesFile.read()
|
|
||||||
|
|
||||||
cssFilename = baseDir + '/epicyon-profile.css'
|
cssFilename = baseDir + '/epicyon-profile.css'
|
||||||
if os.path.isfile(baseDir + '/epicyon.css'):
|
if os.path.isfile(baseDir + '/epicyon.css'):
|
||||||
cssFilename = baseDir + '/epicyon.css'
|
cssFilename = baseDir + '/epicyon.css'
|
||||||
|
@ -1858,116 +1975,8 @@ def htmlEditProfile(cssCache: {}, translate: {}, baseDir: str, path: str,
|
||||||
editProfileForm += ' </div></details>\n'
|
editProfileForm += ' </div></details>\n'
|
||||||
|
|
||||||
# Filtering and blocking section
|
# Filtering and blocking section
|
||||||
editProfileForm += '<details><summary class="cw">' + \
|
|
||||||
translate['Filtering and Blocking'] + '</summary>\n'
|
|
||||||
editProfileForm += ' <div class="container">\n'
|
|
||||||
|
|
||||||
editProfileForm += \
|
editProfileForm += \
|
||||||
'<label class="labels">' + \
|
_htmlEditProfileFiltering(baseDir, nickname, domain, translate)
|
||||||
translate['City for spoofed GPS image metadata'] + \
|
|
||||||
'</label><br>\n'
|
|
||||||
|
|
||||||
cityFilename = baseDir + '/accounts/' + \
|
|
||||||
nickname + '@' + domain + '/city.txt'
|
|
||||||
if os.path.isfile(cityFilename):
|
|
||||||
with open(cityFilename, 'r') as fp:
|
|
||||||
city = fp.read().replace('\n', '')
|
|
||||||
locationsFilename = baseDir + '/custom_locations.txt'
|
|
||||||
if not os.path.isfile(locationsFilename):
|
|
||||||
locationsFilename = baseDir + '/locations.txt'
|
|
||||||
cities = []
|
|
||||||
with open(locationsFilename, "r") as f:
|
|
||||||
cities = f.readlines()
|
|
||||||
cities.sort()
|
|
||||||
editProfileForm += ' <select id="cityDropdown" ' + \
|
|
||||||
'name="cityDropdown" class="theme">\n'
|
|
||||||
city = city.lower()
|
|
||||||
for cityName in cities:
|
|
||||||
if ':' not in cityName:
|
|
||||||
continue
|
|
||||||
citySelected = ''
|
|
||||||
cityName = cityName.split(':')[0]
|
|
||||||
cityName = cityName.lower()
|
|
||||||
if city in cityName:
|
|
||||||
citySelected = ' selected'
|
|
||||||
editProfileForm += \
|
|
||||||
' <option value="' + cityName + \
|
|
||||||
'"' + citySelected.title() + '>' + \
|
|
||||||
cityName + '</option>\n'
|
|
||||||
editProfileForm += ' </select><br>\n'
|
|
||||||
|
|
||||||
editProfileForm += \
|
|
||||||
' <b><label class="labels">' + \
|
|
||||||
translate['Filtered words'] + '</label></b>\n'
|
|
||||||
editProfileForm += ' <br><label class="labels">' + \
|
|
||||||
translate['One per line'] + '</label>\n'
|
|
||||||
editProfileForm += ' <textarea id="message" ' + \
|
|
||||||
'name="filteredWords" style="height:200px" spellcheck="false">' + \
|
|
||||||
filterStr + '</textarea>\n'
|
|
||||||
|
|
||||||
editProfileForm += \
|
|
||||||
' <br><b><label class="labels">' + \
|
|
||||||
translate['Word Replacements'] + '</label></b>\n'
|
|
||||||
editProfileForm += ' <br><label class="labels">A -> B</label>\n'
|
|
||||||
editProfileForm += \
|
|
||||||
' <textarea id="message" name="switchWords" ' + \
|
|
||||||
'style="height:200px" spellcheck="false">' + \
|
|
||||||
switchStr + '</textarea>\n'
|
|
||||||
|
|
||||||
editProfileForm += \
|
|
||||||
' <br><b><label class="labels">' + \
|
|
||||||
translate['Autogenerated Hashtags'] + '</label></b>\n'
|
|
||||||
editProfileForm += ' <br><label class="labels">A -> #B</label>\n'
|
|
||||||
editProfileForm += \
|
|
||||||
' <textarea id="message" name="autoTags" ' + \
|
|
||||||
'style="height:200px" spellcheck="false">' + \
|
|
||||||
autoTags + '</textarea>\n'
|
|
||||||
|
|
||||||
editProfileForm += \
|
|
||||||
' <br><b><label class="labels">' + \
|
|
||||||
translate['Autogenerated Content Warnings'] + '</label></b>\n'
|
|
||||||
editProfileForm += ' <br><label class="labels">A -> B</label>\n'
|
|
||||||
editProfileForm += \
|
|
||||||
' <textarea id="message" name="autoCW" ' + \
|
|
||||||
'style="height:200px" spellcheck="true">' + autoCW + '</textarea>\n'
|
|
||||||
|
|
||||||
editProfileForm += \
|
|
||||||
' <br><b><label class="labels">' + \
|
|
||||||
translate['Blocked accounts'] + '</label></b>\n'
|
|
||||||
idx = 'Blocked accounts, one per line, in the form ' + \
|
|
||||||
'nickname@domain or *@blockeddomain'
|
|
||||||
editProfileForm += \
|
|
||||||
' <br><label class="labels">' + translate[idx] + '</label>\n'
|
|
||||||
editProfileForm += \
|
|
||||||
' <textarea id="message" name="blocked" style="height:200px" ' + \
|
|
||||||
'spellcheck="false">' + blockedStr + '</textarea>\n'
|
|
||||||
|
|
||||||
editProfileForm += \
|
|
||||||
' <br><b><label class="labels">' + \
|
|
||||||
translate['Direct Message permitted instances'] + '</label></b>\n'
|
|
||||||
idx = 'Direct messages are always allowed from these instances.'
|
|
||||||
editProfileForm += \
|
|
||||||
' <br><label class="labels">' + \
|
|
||||||
translate[idx] + '</label>\n'
|
|
||||||
editProfileForm += \
|
|
||||||
' <textarea id="message" name="dmAllowedInstances" ' + \
|
|
||||||
'style="height:200px" spellcheck="false">' + \
|
|
||||||
dmAllowedInstancesStr + '</textarea>\n'
|
|
||||||
|
|
||||||
editProfileForm += \
|
|
||||||
' <br><b><label class="labels">' + \
|
|
||||||
translate['Federation list'] + '</label></b>\n'
|
|
||||||
idx = 'Federate only with a defined set of instances. ' + \
|
|
||||||
'One domain name per line.'
|
|
||||||
editProfileForm += \
|
|
||||||
' <br><label class="labels">' + \
|
|
||||||
translate[idx] + '</label>\n'
|
|
||||||
editProfileForm += \
|
|
||||||
' <textarea id="message" name="allowedInstances" ' + \
|
|
||||||
'style="height:200px" spellcheck="false">' + \
|
|
||||||
allowedInstancesStr + '</textarea>\n'
|
|
||||||
|
|
||||||
editProfileForm += ' </div></details>\n'
|
|
||||||
|
|
||||||
# git projects section
|
# git projects section
|
||||||
editProfileForm += \
|
editProfileForm += \
|
||||||
|
|
Loading…
Reference in New Issue