mirror of https://gitlab.com/bashrc2/epicyon
Tidying
parent
5af5f5cd27
commit
466b708300
|
@ -338,8 +338,7 @@ def htmlSearch(cssCache: {}, translate: {},
|
||||||
if os.path.isfile(baseDir + '/search.css'):
|
if os.path.isfile(baseDir + '/search.css'):
|
||||||
cssFilename = baseDir + '/search.css'
|
cssFilename = baseDir + '/search.css'
|
||||||
|
|
||||||
instanceTitle = \
|
instanceTitle = getConfigParam(baseDir, 'instanceTitle')
|
||||||
getConfigParam(baseDir, 'instanceTitle')
|
|
||||||
followStr = htmlHeaderWithExternalStyle(cssFilename, instanceTitle)
|
followStr = htmlHeaderWithExternalStyle(cssFilename, instanceTitle)
|
||||||
|
|
||||||
# show a banner above the search box
|
# show a banner above the search box
|
||||||
|
|
|
@ -24,9 +24,10 @@ def htmlSuspended(cssCache: {}, baseDir: str) -> str:
|
||||||
instanceTitle = \
|
instanceTitle = \
|
||||||
getConfigParam(baseDir, 'instanceTitle')
|
getConfigParam(baseDir, 'instanceTitle')
|
||||||
suspendedForm = htmlHeaderWithExternalStyle(cssFilename, instanceTitle)
|
suspendedForm = htmlHeaderWithExternalStyle(cssFilename, instanceTitle)
|
||||||
suspendedForm += '<div><center>\n'
|
suspendedForm += \
|
||||||
suspendedForm += ' <p class="screentitle">Account Suspended</p>\n'
|
'<div><center>\n' + \
|
||||||
suspendedForm += ' <p>See <a href="/terms">Terms of Service</a></p>\n'
|
' <p class="screentitle">Account Suspended</p>\n' + \
|
||||||
suspendedForm += '</center></div>\n'
|
' <p>See <a href="/terms">Terms of Service</a></p>\n' + \
|
||||||
|
'</center></div>\n'
|
||||||
suspendedForm += htmlFooter()
|
suspendedForm += htmlFooter()
|
||||||
return suspendedForm
|
return suspendedForm
|
||||||
|
|
|
@ -600,14 +600,15 @@ def htmlTimeline(cssCache: {}, defaultTimeline: str,
|
||||||
iconsAsButtons, accessKeys)
|
iconsAsButtons, accessKeys)
|
||||||
|
|
||||||
# start the timeline
|
# start the timeline
|
||||||
tlStr += '<table class="timeline">\n'
|
tlStr += \
|
||||||
tlStr += ' <colgroup>\n'
|
'<table class="timeline">\n' + \
|
||||||
tlStr += ' <col span="1" class="column-left">\n'
|
' <colgroup>\n' + \
|
||||||
tlStr += ' <col span="1" class="column-center">\n'
|
' <col span="1" class="column-left">\n' + \
|
||||||
tlStr += ' <col span="1" class="column-right">\n'
|
' <col span="1" class="column-center">\n' + \
|
||||||
tlStr += ' </colgroup>\n'
|
' <col span="1" class="column-right">\n' + \
|
||||||
tlStr += ' <tbody>\n'
|
' </colgroup>\n' + \
|
||||||
tlStr += ' <tr>\n'
|
' <tbody>\n' + \
|
||||||
|
' <tr>\n'
|
||||||
|
|
||||||
domainFull = getFullDomain(domain, port)
|
domainFull = getFullDomain(domain, port)
|
||||||
|
|
||||||
|
|
|
@ -452,17 +452,18 @@ def getRightImageFile(baseDir: str,
|
||||||
|
|
||||||
def htmlHeaderWithExternalStyle(cssFilename: str, instanceTitle: str,
|
def htmlHeaderWithExternalStyle(cssFilename: str, instanceTitle: str,
|
||||||
lang='en') -> str:
|
lang='en') -> str:
|
||||||
htmlStr = '<!DOCTYPE html>\n'
|
|
||||||
htmlStr += '<html lang="' + lang + '">\n'
|
|
||||||
htmlStr += ' <head>\n'
|
|
||||||
htmlStr += ' <meta charset="utf-8">\n'
|
|
||||||
cssFile = '/' + cssFilename.split('/')[-1]
|
cssFile = '/' + cssFilename.split('/')[-1]
|
||||||
htmlStr += ' <link rel="stylesheet" href="' + cssFile + '">\n'
|
htmlStr = \
|
||||||
htmlStr += ' <link rel="manifest" href="/manifest.json">\n'
|
'<!DOCTYPE html>\n' + \
|
||||||
htmlStr += ' <meta name="theme-color" content="grey">\n'
|
'<html lang="' + lang + '">\n' + \
|
||||||
htmlStr += ' <title>' + instanceTitle + '</title>\n'
|
' <head>\n' + \
|
||||||
htmlStr += ' </head>\n'
|
' <meta charset="utf-8">\n' + \
|
||||||
htmlStr += ' <body>\n'
|
' <link rel="stylesheet" href="' + cssFile + '">\n' + \
|
||||||
|
' <link rel="manifest" href="/manifest.json">\n' + \
|
||||||
|
' <meta name="theme-color" content="grey">\n' + \
|
||||||
|
' <title>' + instanceTitle + '</title>\n' + \
|
||||||
|
' </head>\n' + \
|
||||||
|
' <body>\n'
|
||||||
return htmlStr
|
return htmlStr
|
||||||
|
|
||||||
|
|
||||||
|
@ -511,37 +512,32 @@ def htmlHeaderWithPersonMarkup(cssFilename: str, instanceTitle: str,
|
||||||
sk['occupationalCategory']['codeValue']
|
sk['occupationalCategory']['codeValue']
|
||||||
categoryUrl = \
|
categoryUrl = \
|
||||||
'https://www.onetonline.org/link/summary/' + category
|
'https://www.onetonline.org/link/summary/' + category
|
||||||
skillsMarkup += ' {\n'
|
|
||||||
skillsMarkup += ' "@type": "Role",\n'
|
|
||||||
skillsMarkup += ' "hasOccupation": {\n'
|
|
||||||
skillsMarkup += ' "@type": "Occupation",\n'
|
|
||||||
skillsMarkup += ' "name": "' + roleName + '",\n'
|
|
||||||
skillsMarkup += ' "description": ' + \
|
|
||||||
'"Fediverse instance role",\n'
|
|
||||||
skillsMarkup += ' "occupationLocation": {\n'
|
|
||||||
skillsMarkup += \
|
|
||||||
' "@type": "City",\n'
|
|
||||||
skillsMarkup += \
|
|
||||||
' "name": "' + city + '"\n'
|
|
||||||
skillsMarkup += ' },\n'
|
|
||||||
skillsMarkup += ' "occupationalCategory": {\n'
|
|
||||||
skillsMarkup += ' "@type": "CategoryCode",\n'
|
|
||||||
skillsMarkup += ' "inCodeSet": {\n'
|
|
||||||
skillsMarkup += \
|
|
||||||
' "@type": "CategoryCodeSet",\n'
|
|
||||||
skillsMarkup += ' "name": "O*Net-SOC",\n'
|
|
||||||
skillsMarkup += ' "dateModified": "2019",\n'
|
|
||||||
skillsMarkup += \
|
skillsMarkup += \
|
||||||
|
' {\n' + \
|
||||||
|
' "@type": "Role",\n' + \
|
||||||
|
' "hasOccupation": {\n' + \
|
||||||
|
' "@type": "Occupation",\n' + \
|
||||||
|
' "name": "' + roleName + '",\n' + \
|
||||||
|
' "description": ' + \
|
||||||
|
'"Fediverse instance role",\n' + \
|
||||||
|
' "occupationLocation": {\n' + \
|
||||||
|
' "@type": "City",\n' + \
|
||||||
|
' "name": "' + city + '"\n' + \
|
||||||
|
' },\n' + \
|
||||||
|
' "occupationalCategory": {\n' + \
|
||||||
|
' "@type": "CategoryCode",\n' + \
|
||||||
|
' "inCodeSet": {\n' + \
|
||||||
|
' "@type": "CategoryCodeSet",\n' + \
|
||||||
|
' "name": "O*Net-SOC",\n' + \
|
||||||
|
' "dateModified": "2019",\n' + \
|
||||||
' ' + \
|
' ' + \
|
||||||
'"url": "https://www.onetonline.org/"\n'
|
'"url": "https://www.onetonline.org/"\n' + \
|
||||||
skillsMarkup += ' },\n'
|
' },\n' + \
|
||||||
skillsMarkup += \
|
' "codeValue": "' + category + '",\n' + \
|
||||||
' "codeValue": "' + category + '",\n'
|
' "url": "' + categoryUrl + '"\n' + \
|
||||||
skillsMarkup += \
|
' }\n' + \
|
||||||
' "url": "' + categoryUrl + '"\n'
|
' }\n' + \
|
||||||
skillsMarkup += ' }\n'
|
' }'
|
||||||
skillsMarkup += ' }\n'
|
|
||||||
skillsMarkup += ' }'
|
|
||||||
elif skillDict['@type'] == 'Occupation':
|
elif skillDict['@type'] == 'Occupation':
|
||||||
if not firstEntry:
|
if not firstEntry:
|
||||||
skillsMarkup += ',\n'
|
skillsMarkup += ',\n'
|
||||||
|
@ -555,19 +551,18 @@ def htmlHeaderWithPersonMarkup(cssFilename: str, instanceTitle: str,
|
||||||
skillsListStr += ', '
|
skillsListStr += ', '
|
||||||
skillsListStr += '"' + skillStr + '"'
|
skillsListStr += '"' + skillStr + '"'
|
||||||
skillsListStr += ']'
|
skillsListStr += ']'
|
||||||
skillsMarkup += ' {\n'
|
|
||||||
skillsMarkup += ' "@type": "Occupation",\n'
|
|
||||||
skillsMarkup += ' "name": "' + ocName + '",\n'
|
|
||||||
skillsMarkup += ' "description": ' + \
|
|
||||||
'"Fediverse instance occupation",\n'
|
|
||||||
skillsMarkup += ' "occupationLocation": {\n'
|
|
||||||
skillsMarkup += ' "@type": "City",\n'
|
|
||||||
skillsMarkup += \
|
skillsMarkup += \
|
||||||
' "name": "' + city + '"\n'
|
' {\n' + \
|
||||||
skillsMarkup += ' },\n'
|
' "@type": "Occupation",\n' + \
|
||||||
skillsMarkup += \
|
' "name": "' + ocName + '",\n' + \
|
||||||
' "skills": ' + skillsListStr + '\n'
|
' "description": ' + \
|
||||||
skillsMarkup += ' }'
|
'"Fediverse instance occupation",\n' + \
|
||||||
|
' "occupationLocation": {\n' + \
|
||||||
|
' "@type": "City",\n' + \
|
||||||
|
' "name": "' + city + '"\n' + \
|
||||||
|
' },\n' + \
|
||||||
|
' "skills": ' + skillsListStr + '\n' + \
|
||||||
|
' }'
|
||||||
firstEntry = False
|
firstEntry = False
|
||||||
skillsMarkup += '\n ],\n'
|
skillsMarkup += '\n ],\n'
|
||||||
|
|
||||||
|
|
|
@ -63,19 +63,17 @@ def htmlWelcomeFinal(baseDir: str, nickname: str, domain: str,
|
||||||
|
|
||||||
finalForm = htmlHeaderWithExternalStyle(cssFilename, instanceTitle)
|
finalForm = htmlHeaderWithExternalStyle(cssFilename, instanceTitle)
|
||||||
|
|
||||||
finalForm += '<div class="container">' + finalText + '</div>\n'
|
|
||||||
finalForm += \
|
finalForm += \
|
||||||
|
'<div class="container">' + finalText + '</div>\n' + \
|
||||||
'<form enctype="multipart/form-data" method="POST" ' + \
|
'<form enctype="multipart/form-data" method="POST" ' + \
|
||||||
'accept-charset="UTF-8" ' + \
|
'accept-charset="UTF-8" ' + \
|
||||||
'action="/users/' + nickname + '/profiledata">\n'
|
'action="/users/' + nickname + '/profiledata">\n' + \
|
||||||
finalForm += '<div class="container next">\n'
|
'<div class="container next">\n' + \
|
||||||
finalForm += \
|
|
||||||
' <button type="submit" class="button" ' + \
|
' <button type="submit" class="button" ' + \
|
||||||
'name="previewAvatar">' + translate['Go Back'] + '</button>\n'
|
'name="previewAvatar">' + translate['Go Back'] + '</button>\n' + \
|
||||||
finalForm += \
|
|
||||||
' <button type="submit" class="button" ' + \
|
' <button type="submit" class="button" ' + \
|
||||||
'name="welcomeCompleteButton">' + translate['Next'] + '</button>\n'
|
'name="welcomeCompleteButton">' + translate['Next'] + '</button>\n' + \
|
||||||
finalForm += '</div>\n'
|
'</div>\n'
|
||||||
|
|
||||||
finalForm += '</form>\n'
|
finalForm += '</form>\n'
|
||||||
finalForm += htmlFooter()
|
finalForm += htmlFooter()
|
||||||
|
|
36
webfinger.py
36
webfinger.py
|
@ -174,18 +174,19 @@ def webfingerNodeInfo(httpPrefix: str, domainFull: str) -> {}:
|
||||||
def webfingerMeta(httpPrefix: str, domainFull: str) -> str:
|
def webfingerMeta(httpPrefix: str, domainFull: str) -> str:
|
||||||
"""Return /.well-known/host-meta
|
"""Return /.well-known/host-meta
|
||||||
"""
|
"""
|
||||||
metaStr = "<?xml version=’1.0' encoding=’UTF-8'?>"
|
metaStr = \
|
||||||
metaStr += "<XRD xmlns=’http://docs.oasis-open.org/ns/xri/xrd-1.0'"
|
"<?xml version=’1.0' encoding=’UTF-8'?>" + \
|
||||||
metaStr += " xmlns:hm=’http://host-meta.net/xrd/1.0'>"
|
"<XRD xmlns=’http://docs.oasis-open.org/ns/xri/xrd-1.0'" + \
|
||||||
metaStr += ""
|
" xmlns:hm=’http://host-meta.net/xrd/1.0'>" + \
|
||||||
metaStr += "<hm:Host>" + domainFull + "</hm:Host>"
|
"" + \
|
||||||
metaStr += ""
|
"<hm:Host>" + domainFull + "</hm:Host>" + \
|
||||||
metaStr += "<Link rel=’lrdd’"
|
"" + \
|
||||||
metaStr += " template=’" + httpPrefix + "://" + domainFull + \
|
"<Link rel=’lrdd’" + \
|
||||||
"/describe?uri={uri}'>"
|
" template=’" + httpPrefix + "://" + domainFull + \
|
||||||
metaStr += " <Title>Resource Descriptor</Title>"
|
"/describe?uri={uri}'>" + \
|
||||||
metaStr += " </Link>"
|
" <Title>Resource Descriptor</Title>" + \
|
||||||
metaStr += "</XRD>"
|
" </Link>" + \
|
||||||
|
"</XRD>"
|
||||||
return metaStr
|
return metaStr
|
||||||
|
|
||||||
|
|
||||||
|
@ -271,11 +272,12 @@ def _webfingerUpdateFromProfile(wfJson: {}, actorJson: {}) -> bool:
|
||||||
if not propertyValue.get('name'):
|
if not propertyValue.get('name'):
|
||||||
continue
|
continue
|
||||||
propertyName = propertyValue['name'].lower()
|
propertyName = propertyValue['name'].lower()
|
||||||
if not (propertyName.startswith('ssb') or
|
found = False
|
||||||
propertyName.startswith('xmpp') or
|
for name, alias in webfingerPropertyName:
|
||||||
propertyName.startswith('matrix') or
|
if name == propertyName:
|
||||||
propertyName.startswith('email') or
|
found = True
|
||||||
propertyName.startswith('tox')):
|
break
|
||||||
|
if not found:
|
||||||
continue
|
continue
|
||||||
if not propertyValue.get('type'):
|
if not propertyValue.get('type'):
|
||||||
continue
|
continue
|
||||||
|
|
Loading…
Reference in New Issue