Add mention tags

master
Bob Mottram 2019-08-19 13:13:18 +01:00
parent e9df539727
commit cf96d38b9d
1 changed files with 17 additions and 21 deletions

View File

@ -97,7 +97,7 @@ def addEmoji(baseDir: str,wordStr: str,httpPrefix: str,domain: str,replaceEmoji:
"<img src=\""+emojiUrl+"\" alt=\""+emoji+"\" align=\"middle\" class=\"emoji\"/>"
return True
def addMention(wordStr: str,httpPrefix: str,following: str,replaceMentions: {},recipients: [],tagsList: []) -> bool:
def addMention(wordStr: str,httpPrefix: str,following: str,replaceMentions: {},recipients: [],tags: {}) -> 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)
tagsList.append({
tags[wordStr]={
'href': recipientActor,
'name': wordStr,
'type': 'Mention'
})
}
replaceMentions[wordStr]="<span class=\"h-card\"><a href=\""+httpPrefix+"://"+replaceDomain+"/@"+possibleNickname+"\" class=\"u-url mention\">@<span>"+possibleNickname+"</span></a></span>"
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)
tagsList.append({
tags[wordStr]={
'href': recipientActor,
'name': wordStr,
'type': 'Mention'
})
}
replaceMentions[wordStr]="<span class=\"h-card\"><a href=\""+httpPrefix+"://"+possibleDomain+"/@"+possibleNickname+"\" class=\"u-url mention\">@<span>"+possibleNickname+"</span></a></span>"
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)
tagsList.append({
tags[wordStr]={
'href': recipientActor,
'name': wordStr,
'type': 'Mention'
})
}
replaceMentions[wordStr]="<span class=\"h-card\"><a href=\""+httpPrefix+"://"+possibleDomain+"/@"+possibleNickname+"\" class=\"u-url mention\">@<span>"+possibleNickname+"</span></a></span>"
return True
return False
@ -199,12 +199,8 @@ def addHtmlTags(baseDir: str,httpPrefix: str, \
# extract mentions and tags from words
for wordStr in words:
tagsList=[]
if addMention(wordStr,httpPrefix,following,replaceMentions,recipients,tagsList):
for tag in tagsList:
hashtags[tag['name']]=tag
if addMention(wordStr,httpPrefix,following,replaceMentions,recipients,hashtags):
continue
tagsList=[]
if addHashTags(wordStr,httpPrefix,originalDomain,replaceHashTags,hashtags):
continue
if len(wordStr)>2 and wordStr.startswith(':') and wordStr.endswith(':') and not emojiDict: