mirror of https://gitlab.com/bashrc2/epicyon
Merge branch 'main' of ssh://code.freedombone.net:2222/bashrc/epicyon
commit
94c0b16c0d
34
person.py
34
person.py
|
|
@ -288,6 +288,10 @@ def _createPersonBase(baseDir: str, nickname: str, domain: str, port: int,
|
||||||
{
|
{
|
||||||
'@type': 'Occupation',
|
'@type': 'Occupation',
|
||||||
'name': "",
|
'name': "",
|
||||||
|
"occupationLocation": {
|
||||||
|
"@type": "City",
|
||||||
|
"name": "Fediverse"
|
||||||
|
},
|
||||||
'skills': []
|
'skills': []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
@ -588,6 +592,10 @@ def personUpgradeActor(baseDir: str, personJson: {},
|
||||||
{
|
{
|
||||||
'@type': 'Occupation',
|
'@type': 'Occupation',
|
||||||
'name': occupationName,
|
'name': occupationName,
|
||||||
|
"occupationLocation": {
|
||||||
|
"@type": "City",
|
||||||
|
"name": "Fediverse"
|
||||||
|
},
|
||||||
'skills': []
|
'skills': []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
@ -609,10 +617,36 @@ def personUpgradeActor(baseDir: str, personJson: {},
|
||||||
{
|
{
|
||||||
'@type': 'Occupation',
|
'@type': 'Occupation',
|
||||||
'name': occupationName,
|
'name': occupationName,
|
||||||
|
'occupationLocation': {
|
||||||
|
'@type': 'City',
|
||||||
|
'name': 'Fediverse'
|
||||||
|
},
|
||||||
'skills': []
|
'skills': []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
updateActor = True
|
updateActor = True
|
||||||
|
else:
|
||||||
|
# add location if it is missing
|
||||||
|
for index in range(len(personJson['hasOccupation'])):
|
||||||
|
ocItem = personJson['hasOccupation'][index]
|
||||||
|
if ocItem.get('hasOccupation'):
|
||||||
|
ocItem = ocItem['hasOccupation']
|
||||||
|
if ocItem.get('location'):
|
||||||
|
del ocItem['location']
|
||||||
|
updateActor = True
|
||||||
|
if not ocItem.get('occupationLocation'):
|
||||||
|
ocItem['occupationLocation'] = {
|
||||||
|
"@type": "City",
|
||||||
|
"name": "Fediverse"
|
||||||
|
}
|
||||||
|
updateActor = True
|
||||||
|
else:
|
||||||
|
if ocItem['occupationLocation']['@type'] != 'City':
|
||||||
|
ocItem['occupationLocation'] = {
|
||||||
|
"@type": "City",
|
||||||
|
"name": "Fediverse"
|
||||||
|
}
|
||||||
|
updateActor = True
|
||||||
|
|
||||||
# if no roles are defined then ensure that the admin
|
# if no roles are defined then ensure that the admin
|
||||||
# roles are configured
|
# roles are configured
|
||||||
|
|
|
||||||
5
roles.py
5
roles.py
|
|
@ -145,6 +145,11 @@ def _setActorRole(actorJson: {}, roleName: str) -> bool:
|
||||||
"hasOccupation": {
|
"hasOccupation": {
|
||||||
"@type": "Occupation",
|
"@type": "Occupation",
|
||||||
"name": roleName,
|
"name": roleName,
|
||||||
|
"description": "Fediverse instance role",
|
||||||
|
"occupationLocation": {
|
||||||
|
"@type": "City",
|
||||||
|
"url": "Fediverse"
|
||||||
|
},
|
||||||
"occupationalCategory": {
|
"occupationalCategory": {
|
||||||
"@type": "CategoryCode",
|
"@type": "CategoryCode",
|
||||||
"inCodeSet": {
|
"inCodeSet": {
|
||||||
|
|
|
||||||
|
|
@ -86,6 +86,10 @@ def setActorSkillLevel(actorJson: {},
|
||||||
{
|
{
|
||||||
'@type': 'Occupation',
|
'@type': 'Occupation',
|
||||||
'name': '',
|
'name': '',
|
||||||
|
"occupationLocation": {
|
||||||
|
"@type": "City",
|
||||||
|
"name": "Fediverse"
|
||||||
|
},
|
||||||
'skills': []
|
'skills': []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
||||||
8
tests.py
8
tests.py
|
|
@ -3666,6 +3666,10 @@ def testSkills() -> None:
|
||||||
{
|
{
|
||||||
'@type': 'Occupation',
|
'@type': 'Occupation',
|
||||||
'name': "Sysop",
|
'name': "Sysop",
|
||||||
|
"occupationLocation": {
|
||||||
|
"@type": "City",
|
||||||
|
"name": "Fediverse"
|
||||||
|
},
|
||||||
'skills': []
|
'skills': []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
@ -3688,6 +3692,10 @@ def testRoles() -> None:
|
||||||
{
|
{
|
||||||
'@type': 'Occupation',
|
'@type': 'Occupation',
|
||||||
'name': "Sysop",
|
'name': "Sysop",
|
||||||
|
'occupationLocation': {
|
||||||
|
'@type': 'City',
|
||||||
|
'name': 'Fediverse'
|
||||||
|
},
|
||||||
'skills': []
|
'skills': []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -720,6 +720,24 @@ def htmlHeaderWithPersonMarkup(cssFilename: str, instanceTitle: str,
|
||||||
if not actorJson:
|
if not actorJson:
|
||||||
return htmlStr
|
return htmlStr
|
||||||
|
|
||||||
|
cityMarkup = ''
|
||||||
|
if city:
|
||||||
|
city = city.lower().title()
|
||||||
|
addComma = ''
|
||||||
|
countryMarkup = ''
|
||||||
|
if ',' in city:
|
||||||
|
country = city.split(',', 1)[1].strip().title()
|
||||||
|
city = city.split(',', 1)[0]
|
||||||
|
countryMarkup = \
|
||||||
|
' "addressCountry": "' + country + '"\n'
|
||||||
|
addComma = ','
|
||||||
|
cityMarkup = \
|
||||||
|
' "address": {\n' + \
|
||||||
|
' "@type": "PostalAddress",\n' + \
|
||||||
|
' "addressLocality": "' + city + '"' + addComma + '\n' + \
|
||||||
|
countryMarkup + \
|
||||||
|
' },\n'
|
||||||
|
|
||||||
skillsMarkup = ''
|
skillsMarkup = ''
|
||||||
if actorJson.get('hasOccupation'):
|
if actorJson.get('hasOccupation'):
|
||||||
if isinstance(actorJson['hasOccupation'], list):
|
if isinstance(actorJson['hasOccupation'], list):
|
||||||
|
|
@ -742,6 +760,14 @@ def htmlHeaderWithPersonMarkup(cssFilename: str, instanceTitle: str,
|
||||||
skillsMarkup += ' "hasOccupation": {\n'
|
skillsMarkup += ' "hasOccupation": {\n'
|
||||||
skillsMarkup += ' "@type": "Occupation",\n'
|
skillsMarkup += ' "@type": "Occupation",\n'
|
||||||
skillsMarkup += ' "name": "' + roleName + '",\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 += ' "occupationalCategory": {\n'
|
||||||
skillsMarkup += ' "@type": "CategoryCode",\n'
|
skillsMarkup += ' "@type": "CategoryCode",\n'
|
||||||
skillsMarkup += ' "inCodeSet": {\n'
|
skillsMarkup += ' "inCodeSet": {\n'
|
||||||
|
|
@ -776,29 +802,19 @@ def htmlHeaderWithPersonMarkup(cssFilename: str, instanceTitle: str,
|
||||||
skillsMarkup += ' {\n'
|
skillsMarkup += ' {\n'
|
||||||
skillsMarkup += ' "@type": "Occupation",\n'
|
skillsMarkup += ' "@type": "Occupation",\n'
|
||||||
skillsMarkup += ' "name": "' + ocName + '",\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 += \
|
skillsMarkup += \
|
||||||
' "skills": ' + skillsListStr + '\n'
|
' "skills": ' + skillsListStr + '\n'
|
||||||
skillsMarkup += ' }'
|
skillsMarkup += ' }'
|
||||||
firstEntry = False
|
firstEntry = False
|
||||||
skillsMarkup += '\n ],\n'
|
skillsMarkup += '\n ],\n'
|
||||||
|
|
||||||
cityMarkup = ''
|
|
||||||
if city:
|
|
||||||
city = city.lower().title()
|
|
||||||
addComma = ''
|
|
||||||
countryMarkup = ''
|
|
||||||
if ',' in city:
|
|
||||||
country = city.split(',', 1)[1].strip().title()
|
|
||||||
city = city.split(',', 1)[0]
|
|
||||||
countryMarkup = \
|
|
||||||
' "addressCountry": "' + country + '"\n'
|
|
||||||
addComma = ','
|
|
||||||
cityMarkup = \
|
|
||||||
' "address": {\n' + \
|
|
||||||
' "@type": "PostalAddress",\n' + \
|
|
||||||
' "addressLocality": "' + city + '"' + addComma + '\n' + \
|
|
||||||
countryMarkup + \
|
|
||||||
' },\n'
|
|
||||||
description = removeHtml(actorJson['summary'])
|
description = removeHtml(actorJson['summary'])
|
||||||
nameStr = removeHtml(actorJson['name'])
|
nameStr = removeHtml(actorJson['name'])
|
||||||
personMarkup = \
|
personMarkup = \
|
||||||
|
|
@ -872,6 +888,11 @@ def htmlHeaderWithBlogMarkup(cssFilename: str, instanceTitle: str,
|
||||||
|
|
||||||
authorUrl = httpPrefix + '://' + domain + '/users/' + nickname
|
authorUrl = httpPrefix + '://' + domain + '/users/' + nickname
|
||||||
aboutUrl = httpPrefix + '://' + domain + '/about.html'
|
aboutUrl = httpPrefix + '://' + domain + '/about.html'
|
||||||
|
|
||||||
|
# license for content on the site may be different from
|
||||||
|
# the software license
|
||||||
|
contentLicenseUrl = 'https://creativecommons.org/licenses/by/3.0'
|
||||||
|
|
||||||
blogMarkup = \
|
blogMarkup = \
|
||||||
' <script type="application/ld+json">\n' + \
|
' <script type="application/ld+json">\n' + \
|
||||||
' {\n' + \
|
' {\n' + \
|
||||||
|
|
@ -890,6 +911,7 @@ def htmlHeaderWithBlogMarkup(cssFilename: str, instanceTitle: str,
|
||||||
' "name": "' + instanceTitle + '",\n' + \
|
' "name": "' + instanceTitle + '",\n' + \
|
||||||
' "sameAs": "' + aboutUrl + '"\n' + \
|
' "sameAs": "' + aboutUrl + '"\n' + \
|
||||||
' },\n' + \
|
' },\n' + \
|
||||||
|
' "license": "' + contentLicenseUrl + '",\n' + \
|
||||||
' "description": "' + snippet + '"\n' + \
|
' "description": "' + snippet + '"\n' + \
|
||||||
' }\n' + \
|
' }\n' + \
|
||||||
' </script>\n'
|
' </script>\n'
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue