merge-requests/30/head
Bob Mottram 2021-03-04 10:11:30 +00:00
parent bc91f2bf7a
commit 45e008ec9e
1 changed files with 24 additions and 10 deletions

View File

@ -338,11 +338,13 @@ def getSSMLbox(baseDir: str, path: str,
instanceTitle, gender) instanceTitle, gender)
def updateSpeaker(baseDir: str, nickname: str, domain: str, def _postToSpeakerJson(baseDir: str, nickname: str, domain: str,
postJsonObject: {}, personCache: {}, postJsonObject: {}, personCache: {},
translate: {}, announcingActor: str) -> None: translate: {}, announcingActor: str) -> {}:
""" Generates a json file which can be used for TTS announcement """Converts an ActivityPub post into some Json containing
of incoming inbox posts speech synthesis parameters.
NOTE: There currently appears to be no standardized json
format for speech synthesis
""" """
if not postJsonObject.get('object'): if not postJsonObject.get('object'):
return return
@ -352,8 +354,6 @@ def updateSpeaker(baseDir: str, nickname: str, domain: str,
return return
if not isinstance(postJsonObject['object']['content'], str): if not isinstance(postJsonObject['object']['content'], str):
return return
speakerFilename = \
baseDir + '/accounts/' + nickname + '@' + domain + '/speaker.json'
detectedLinks = [] detectedLinks = []
content = urllib.parse.unquote_plus(postJsonObject['object']['content']) content = urllib.parse.unquote_plus(postJsonObject['object']['content'])
content = html.unescape(content) content = html.unescape(content)
@ -397,7 +397,21 @@ def updateSpeaker(baseDir: str, nickname: str, domain: str,
announcedHandle = announcedNickname + '@' + announcedDomain announcedHandle = announcedNickname + '@' + announcedDomain
content = \ content = \
translate['announces'] + ' ' + announcedHandle + '. ' + content translate['announces'] + ' ' + announcedHandle + '. ' + content
speakerJson = _speakerEndpointJson(speakerName, summary, return _speakerEndpointJson(speakerName, summary,
content, imageDescription, content, imageDescription,
detectedLinks, gender) detectedLinks, gender)
def updateSpeaker(baseDir: str, nickname: str, domain: str,
postJsonObject: {}, personCache: {},
translate: {}, announcingActor: str) -> None:
""" Generates a json file which can be used for TTS announcement
of incoming inbox posts
"""
speakerJson = \
_postToSpeakerJson(baseDir, nickname, domain,
postJsonObject, personCache,
translate, announcingActor)
speakerFilename = \
baseDir + '/accounts/' + nickname + '@' + domain + '/speaker.json'
saveJson(speakerJson, speakerFilename) saveJson(speakerJson, speakerFilename)