mirror of https://gitlab.com/bashrc2/epicyon
Include spoofed city within person metadata
parent
7b1a1e8585
commit
648666d741
22
daemon.py
22
daemon.py
|
@ -7399,6 +7399,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
if isinstance(actorJson['affiliation']['roleName'],
|
||||
list):
|
||||
rolesList = actorJson['affiliation']['roleName']
|
||||
city = self._getSpoofedCity(baseDir, nickname, domain)
|
||||
msg = \
|
||||
htmlProfile(self.server.rssIconAtTop,
|
||||
self.server.cssCache,
|
||||
|
@ -7422,7 +7423,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
self.server.allowLocalNetworkAccess,
|
||||
self.server.textModeBanner,
|
||||
self.server.debug,
|
||||
accessKeys, rolesList,
|
||||
accessKeys, city, rolesList,
|
||||
None, None)
|
||||
msg = msg.encode('utf-8')
|
||||
msglen = len(msg)
|
||||
|
@ -7501,6 +7502,8 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
actorSkillsList = \
|
||||
actorJson['hasOccupation']['skills']
|
||||
skills = getSkillsFromList(actorSkillsList)
|
||||
city = self._getSpoofedCity(baseDir,
|
||||
nickname, domain)
|
||||
msg = \
|
||||
htmlProfile(self.server.rssIconAtTop,
|
||||
self.server.cssCache,
|
||||
|
@ -7524,7 +7527,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
allowLocalNetworkAccess,
|
||||
self.server.textModeBanner,
|
||||
self.server.debug,
|
||||
accessKeys, skills,
|
||||
accessKeys, city, skills,
|
||||
None, None)
|
||||
msg = msg.encode('utf-8')
|
||||
msglen = len(msg)
|
||||
|
@ -9398,6 +9401,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
accessKeys = \
|
||||
self.server.keyShortcuts[nickname]
|
||||
|
||||
city = self._getSpoofedCity(baseDir, nickname, domain)
|
||||
msg = \
|
||||
htmlProfile(self.server.rssIconAtTop,
|
||||
self.server.cssCache,
|
||||
|
@ -9422,7 +9426,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
self.server.allowLocalNetworkAccess,
|
||||
self.server.textModeBanner,
|
||||
self.server.debug,
|
||||
accessKeys,
|
||||
accessKeys, city,
|
||||
shares,
|
||||
pageNumber, sharesPerPage)
|
||||
msg = msg.encode('utf-8')
|
||||
|
@ -9500,6 +9504,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
return True
|
||||
|
||||
accessKeys = self.server.accessKeys
|
||||
city = None
|
||||
if '/users/' in path:
|
||||
nickname = path.split('/users/')[1]
|
||||
if '/' in nickname:
|
||||
|
@ -9508,6 +9513,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
accessKeys = \
|
||||
self.server.keyShortcuts[nickname]
|
||||
|
||||
city = self._getSpoofedCity(baseDir, nickname, domain)
|
||||
msg = \
|
||||
htmlProfile(self.server.rssIconAtTop,
|
||||
self.server.cssCache,
|
||||
|
@ -9532,7 +9538,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
self.server.allowLocalNetworkAccess,
|
||||
self.server.textModeBanner,
|
||||
self.server.debug,
|
||||
accessKeys,
|
||||
accessKeys, city,
|
||||
following,
|
||||
pageNumber,
|
||||
followsPerPage).encode('utf-8')
|
||||
|
@ -9609,6 +9615,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
return True
|
||||
|
||||
accessKeys = self.server.accessKeys
|
||||
city = None
|
||||
if '/users/' in path:
|
||||
nickname = path.split('/users/')[1]
|
||||
if '/' in nickname:
|
||||
|
@ -9617,6 +9624,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
accessKeys = \
|
||||
self.server.keyShortcuts[nickname]
|
||||
|
||||
city = self._getSpoofedCity(baseDir, nickname, domain)
|
||||
msg = \
|
||||
htmlProfile(self.server.rssIconAtTop,
|
||||
self.server.cssCache,
|
||||
|
@ -9642,7 +9650,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
self.server.allowLocalNetworkAccess,
|
||||
self.server.textModeBanner,
|
||||
self.server.debug,
|
||||
accessKeys,
|
||||
accessKeys, city,
|
||||
followers,
|
||||
pageNumber,
|
||||
followsPerPage).encode('utf-8')
|
||||
|
@ -9742,6 +9750,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
return True
|
||||
|
||||
accessKeys = self.server.accessKeys
|
||||
city = None
|
||||
if '/users/' in path:
|
||||
nickname = path.split('/users/')[1]
|
||||
if '/' in nickname:
|
||||
|
@ -9750,6 +9759,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
accessKeys = \
|
||||
self.server.keyShortcuts[nickname]
|
||||
|
||||
city = self._getSpoofedCity(baseDir, nickname, domain)
|
||||
msg = \
|
||||
htmlProfile(self.server.rssIconAtTop,
|
||||
self.server.cssCache,
|
||||
|
@ -9775,7 +9785,7 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
self.server.allowLocalNetworkAccess,
|
||||
self.server.textModeBanner,
|
||||
self.server.debug,
|
||||
accessKeys,
|
||||
accessKeys, city,
|
||||
None, None).encode('utf-8')
|
||||
msglen = len(msg)
|
||||
self._set_headers('text/html', msglen,
|
||||
|
|
|
@ -520,7 +520,7 @@ def htmlProfile(rssIconAtTop: bool,
|
|||
peertubeInstances: [],
|
||||
allowLocalNetworkAccess: bool,
|
||||
textModeBanner: str,
|
||||
debug: bool, accessKeys: {},
|
||||
debug: bool, accessKeys: {}, city: str,
|
||||
extraJson=None, pageNumber=None,
|
||||
maxItemsPerPage=None) -> str:
|
||||
"""Show the profile page as html
|
||||
|
@ -901,7 +901,8 @@ def htmlProfile(rssIconAtTop: bool,
|
|||
instanceTitle = \
|
||||
getConfigParam(baseDir, 'instanceTitle')
|
||||
profileStr = \
|
||||
htmlHeaderWithPersonMarkup(cssFilename, instanceTitle, profileJson) + \
|
||||
htmlHeaderWithPersonMarkup(cssFilename, instanceTitle,
|
||||
profileJson, city) + \
|
||||
profileStr + htmlFooter()
|
||||
return profileStr
|
||||
|
||||
|
|
|
@ -711,7 +711,8 @@ def htmlHeaderWithExternalStyle(cssFilename: str, instanceTitle: str,
|
|||
|
||||
|
||||
def htmlHeaderWithPersonMarkup(cssFilename: str, instanceTitle: str,
|
||||
actorJson: {}, lang='en') -> str:
|
||||
actorJson: {}, city: str,
|
||||
lang='en') -> str:
|
||||
"""html header which includes person markup
|
||||
https://schema.org/Person
|
||||
"""
|
||||
|
@ -731,7 +732,23 @@ def htmlHeaderWithPersonMarkup(cssFilename: str, instanceTitle: str,
|
|||
occupationStr + \
|
||||
' "skills": ' + str(skillsList) + '\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 + '"'
|
||||
addComma = ','
|
||||
cityMarkup = \
|
||||
' "address": {\n' + \
|
||||
' "@type": "PostalAddress",\n' + \
|
||||
' "addressLocality": "' + city + '"' + addComma + '\n' + \
|
||||
countryMarkup + \
|
||||
' },'
|
||||
personMarkup = \
|
||||
' <script type="application/ld+json">\n' + \
|
||||
' {\n' + \
|
||||
|
@ -740,7 +757,7 @@ def htmlHeaderWithPersonMarkup(cssFilename: str, instanceTitle: str,
|
|||
' "name": "' + actorJson['name'] + '",\n' + \
|
||||
' "image": "' + actorJson['icon']['url'] + '",\n' + \
|
||||
' "description": "' + actorJson['summary'] + '",\n' + \
|
||||
skillsMarkup + \
|
||||
cityMarkup + skillsMarkup + \
|
||||
' "url": "' + actorJson['id'] + '"\n' + \
|
||||
' }\n' + \
|
||||
' </script>\n'
|
||||
|
|
Loading…
Reference in New Issue