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',
|
||||
'name': "",
|
||||
"occupationLocation": {
|
||||
"@type": "City",
|
||||
"name": "Fediverse"
|
||||
},
|
||||
'skills': []
|
||||
}
|
||||
],
|
||||
|
|
@ -588,6 +592,10 @@ def personUpgradeActor(baseDir: str, personJson: {},
|
|||
{
|
||||
'@type': 'Occupation',
|
||||
'name': occupationName,
|
||||
"occupationLocation": {
|
||||
"@type": "City",
|
||||
"name": "Fediverse"
|
||||
},
|
||||
'skills': []
|
||||
}
|
||||
]
|
||||
|
|
@ -609,10 +617,36 @@ def personUpgradeActor(baseDir: str, personJson: {},
|
|||
{
|
||||
'@type': 'Occupation',
|
||||
'name': occupationName,
|
||||
'occupationLocation': {
|
||||
'@type': 'City',
|
||||
'name': 'Fediverse'
|
||||
},
|
||||
'skills': []
|
||||
}
|
||||
]
|
||||
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
|
||||
# roles are configured
|
||||
|
|
|
|||
5
roles.py
5
roles.py
|
|
@ -145,6 +145,11 @@ def _setActorRole(actorJson: {}, roleName: str) -> bool:
|
|||
"hasOccupation": {
|
||||
"@type": "Occupation",
|
||||
"name": roleName,
|
||||
"description": "Fediverse instance role",
|
||||
"occupationLocation": {
|
||||
"@type": "City",
|
||||
"url": "Fediverse"
|
||||
},
|
||||
"occupationalCategory": {
|
||||
"@type": "CategoryCode",
|
||||
"inCodeSet": {
|
||||
|
|
|
|||
|
|
@ -86,6 +86,10 @@ def setActorSkillLevel(actorJson: {},
|
|||
{
|
||||
'@type': 'Occupation',
|
||||
'name': '',
|
||||
"occupationLocation": {
|
||||
"@type": "City",
|
||||
"name": "Fediverse"
|
||||
},
|
||||
'skills': []
|
||||
}
|
||||
]
|
||||
|
|
|
|||
8
tests.py
8
tests.py
|
|
@ -3666,6 +3666,10 @@ def testSkills() -> None:
|
|||
{
|
||||
'@type': 'Occupation',
|
||||
'name': "Sysop",
|
||||
"occupationLocation": {
|
||||
"@type": "City",
|
||||
"name": "Fediverse"
|
||||
},
|
||||
'skills': []
|
||||
}
|
||||
]
|
||||
|
|
@ -3688,6 +3692,10 @@ def testRoles() -> None:
|
|||
{
|
||||
'@type': 'Occupation',
|
||||
'name': "Sysop",
|
||||
'occupationLocation': {
|
||||
'@type': 'City',
|
||||
'name': 'Fediverse'
|
||||
},
|
||||
'skills': []
|
||||
}
|
||||
]
|
||||
|
|
|
|||
|
|
@ -720,6 +720,24 @@ def htmlHeaderWithPersonMarkup(cssFilename: str, instanceTitle: str,
|
|||
if not actorJson:
|
||||
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 = ''
|
||||
if actorJson.get('hasOccupation'):
|
||||
if isinstance(actorJson['hasOccupation'], list):
|
||||
|
|
@ -742,6 +760,14 @@ def htmlHeaderWithPersonMarkup(cssFilename: str, instanceTitle: str,
|
|||
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'
|
||||
|
|
@ -776,29 +802,19 @@ def htmlHeaderWithPersonMarkup(cssFilename: str, instanceTitle: str,
|
|||
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 += ' }'
|
||||
firstEntry = False
|
||||
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'])
|
||||
nameStr = removeHtml(actorJson['name'])
|
||||
personMarkup = \
|
||||
|
|
@ -872,6 +888,11 @@ def htmlHeaderWithBlogMarkup(cssFilename: str, instanceTitle: str,
|
|||
|
||||
authorUrl = httpPrefix + '://' + domain + '/users/' + nickname
|
||||
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 = \
|
||||
' <script type="application/ld+json">\n' + \
|
||||
' {\n' + \
|
||||
|
|
@ -890,6 +911,7 @@ def htmlHeaderWithBlogMarkup(cssFilename: str, instanceTitle: str,
|
|||
' "name": "' + instanceTitle + '",\n' + \
|
||||
' "sameAs": "' + aboutUrl + '"\n' + \
|
||||
' },\n' + \
|
||||
' "license": "' + contentLicenseUrl + '",\n' + \
|
||||
' "description": "' + snippet + '"\n' + \
|
||||
' }\n' + \
|
||||
' </script>\n'
|
||||
|
|
|
|||
Loading…
Reference in New Issue