From d2b084b0dcf9723a6f5dbcbc06bc1c93415dfa75 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Wed, 3 Mar 2021 18:17:55 +0000 Subject: [PATCH 1/2] Sequence --- inbox.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inbox.py b/inbox.py index 9f7116211..33fa4db85 100644 --- a/inbox.py +++ b/inbox.py @@ -2199,10 +2199,10 @@ def _updateSpeaker(baseDir: str, nickname: str, domain: str, speakerName = \ getDisplayName(baseDir, postJsonObject['actor'], personCache) - gender = getGenderFromBio(baseDir, postJsonObject['actor'], - personCache, translate) if not speakerName: return + gender = getGenderFromBio(baseDir, postJsonObject['actor'], + personCache, translate) if announcingActor: announcedNickname = getNicknameFromActor(announcingActor) announcedDomain = getDomainFromActor(announcingActor) From d6f4bc15bae03bf5d208a3acad57855868017025 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Wed, 3 Mar 2021 18:24:37 +0000 Subject: [PATCH 2/2] Remove emoji from spoken display name --- inbox.py | 2 ++ speaker.py | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/inbox.py b/inbox.py index 33fa4db85..fa72339c5 100644 --- a/inbox.py +++ b/inbox.py @@ -86,6 +86,7 @@ from content import htmlReplaceQuoteMarks from speaker import speakerReplaceLinks from speaker import speakerPronounce from speaker import speakerEndpointJson +from speaker import removeEmojiFromText def storeHashTags(baseDir: str, nickname: str, postJsonObject: {}) -> None: @@ -2201,6 +2202,7 @@ def _updateSpeaker(baseDir: str, nickname: str, domain: str, getDisplayName(baseDir, postJsonObject['actor'], personCache) if not speakerName: return + speakerName = removeEmojiFromText(speakerName) gender = getGenderFromBio(baseDir, postJsonObject['actor'], personCache, translate) if announcingActor: diff --git a/speaker.py b/speaker.py index bd14ea414..284938427 100644 --- a/speaker.py +++ b/speaker.py @@ -171,6 +171,25 @@ def _addSSMLemphasis(sayText: str) -> str: return sayText +def removeEmojiFromText(sayText: str) -> str: + """Removes :emoji: from the given text + """ + if '*' not in sayText: + return sayText + text = sayText + for ch in speakerRemoveChars: + text = text.replace(ch, ' ') + wordsList = text.split(' ') + replacements = {} + for word in wordsList: + if word.startswith(':'): + if word.endswith(':'): + replacements[word] = word.replace('*', '') + for replaceStr, newStr in replacements.items(): + sayText = sayText.replace(replaceStr, newStr) + return sayText.replace(' ', ' ').strip() + + def getSpeakerFromServer(baseDir: str, session, nickname: str, password: str, domain: str, port: int,