From e9df539727450193d3c2169448ef15b9e16a2054 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Mon, 19 Aug 2019 13:06:03 +0100 Subject: [PATCH] Return tags as a list --- content.py | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/content.py b/content.py index 7b9d02063..2a898efd9 100644 --- a/content.py +++ b/content.py @@ -97,7 +97,7 @@ def addEmoji(baseDir: str,wordStr: str,httpPrefix: str,domain: str,replaceEmoji: "\""+emoji+"\"" return True -def addMention(wordStr: str,httpPrefix: str,following: str,replaceMentions: {},recipients: [],tags: {}) -> bool: +def addMention(wordStr: str,httpPrefix: str,following: str,replaceMentions: {},recipients: [],tagsList: []) -> bool: """Detects mentions and adds them to the replacements dict and recipients list """ if not wordStr.startswith('@'): @@ -117,11 +117,11 @@ def addMention(wordStr: str,httpPrefix: str,following: str,replaceMentions: {},r recipientActor=httpPrefix+"://"+replaceDomain+"/users/"+possibleNickname if recipientActor not in recipients: recipients.append(recipientActor) - tags[wordStr]= { + tagsList.append({ 'href': recipientActor, 'name': wordStr, 'type': 'Mention' - } + }) replaceMentions[wordStr]="@"+possibleNickname+"" return True return False @@ -134,11 +134,11 @@ def addMention(wordStr: str,httpPrefix: str,following: str,replaceMentions: {},r recipientActor=httpPrefix+"://"+possibleDomain+"/users/"+possibleNickname if recipientActor not in recipients: recipients.append(recipientActor) - tags[wordStr]= { + tagsList.append({ 'href': recipientActor, 'name': wordStr, 'type': 'Mention' - } + }) replaceMentions[wordStr]="@"+possibleNickname+"" return True # @nick@domain @@ -148,11 +148,11 @@ def addMention(wordStr: str,httpPrefix: str,following: str,replaceMentions: {},r recipientActor=httpPrefix+"://"+possibleDomain+"/users/"+possibleNickname if recipientActor not in recipients: recipients.append(recipientActor) - tags[wordStr]= { + tagsList.append({ 'href': recipientActor, 'name': wordStr, 'type': 'Mention' - } + }) replaceMentions[wordStr]="@"+possibleNickname+"" return True return False @@ -199,8 +199,12 @@ def addHtmlTags(baseDir: str,httpPrefix: str, \ # extract mentions and tags from words for wordStr in words: - if addMention(wordStr,httpPrefix,following,replaceMentions,recipients,hashtags): + tagsList=[] + if addMention(wordStr,httpPrefix,following,replaceMentions,recipients,tagsList): + for tag in tagsList: + hashtags[tag['name']]=tag continue + tagsList=[] if addHashTags(wordStr,httpPrefix,originalDomain,replaceHashTags,hashtags): continue if len(wordStr)>2 and wordStr.startswith(':') and wordStr.endswith(':') and not emojiDict: