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