Insert emoji

main2
Bob Mottram 2019-09-29 17:28:02 +01:00
parent 2918582753
commit 10d239ef2e
3 changed files with 31 additions and 28 deletions

View File

@ -11,6 +11,31 @@ import time
import commentjson import commentjson
from shutil import copyfile from shutil import copyfile
def replaceEmojiFromTags(content: str,tag: [],messageType: str) -> str:
"""Uses the tags to replace :emoji: with html image markup
"""
for tagItem in tag:
if not tagItem.get('type'):
continue
if tagItem['type']!='Emoji':
continue
if not tagItem.get('name'):
continue
if not tagItem.get('icon'):
continue
if not tagItem['icon'].get('url'):
continue
if tagItem['name'] not in content:
continue
htmlClass='emoji'
if messageType=='post header':
htmlClass='emojiheader'
if messageType=='profile':
htmlClass='emojiprofile'
emojiHtml="<img src=\""+tagItem['icon']['url']+"\" alt=\""+tagItem['name'].replace(':','')+"\" align=\"middle\" class=\""+htmlClass+"\"/>"
content=content.replace(tagItem['name'],emojiHtml)
return content
def addMusicTag(content: str,tag: str) -> str: def addMusicTag(content: str,tag: str) -> str:
"""If a music link is found then ensure that the post is tagged appropriately """If a music link is found then ensure that the post is tagged appropriately
""" """

View File

@ -459,6 +459,8 @@ def createPostBase(baseDir: str,nickname: str, domain: str, port: int, \
nickname,domain,content, \ nickname,domain,content, \
mentionedRecipients, \ mentionedRecipients, \
hashtagsDict) hashtagsDict)
content= \
replaceEmojiFromTags(content,hashtagsDict,'content')
statusNumber,published = getStatusNumber() statusNumber,published = getStatusNumber()
postTo='https://www.w3.org/ns/activitystreams#Public' postTo='https://www.w3.org/ns/activitystreams#Public'

View File

@ -40,6 +40,7 @@ from announce import announcedByPerson
from blocking import isBlocked from blocking import isBlocked
from content import getMentionsFromHtml from content import getMentionsFromHtml
from content import addHtmlTags from content import addHtmlTags
from content import replaceEmojiFromTags
from config import getConfigParam from config import getConfigParam
from skills import getSkills from skills import getSkills
from cache import getPersonFromCache from cache import getPersonFromCache
@ -1423,31 +1424,6 @@ def contentWarningScript() -> str:
'}\n' '}\n'
return script return script
def htmlReplaceEmojiFromTags(content: str,tag: [],messageType: str) -> str:
"""Uses the tags to replace :emoji: with html image markup
"""
for tagItem in tag:
if not tagItem.get('type'):
continue
if tagItem['type']!='Emoji':
continue
if not tagItem.get('name'):
continue
if not tagItem.get('icon'):
continue
if not tagItem['icon'].get('url'):
continue
if tagItem['name'] not in content:
continue
htmlClass='emoji'
if messageType=='post header':
htmlClass='emojiheader'
if messageType=='profile':
htmlClass='emojiprofile'
emojiHtml="<img src=\""+tagItem['icon']['url']+"\" alt=\""+tagItem['name'].replace(':','')+"\" align=\"middle\" class=\""+htmlClass+"\"/>"
content=content.replace(tagItem['name'],emojiHtml)
return content
def addEmbeddedAudio(translate: {},content: str) -> str: def addEmbeddedAudio(translate: {},content: str) -> str:
"""Adds embedded audio for mp3/ogg """Adds embedded audio for mp3/ogg
""" """
@ -1632,9 +1608,9 @@ def addEmojiToDisplayName(baseDir: str,httpPrefix: str, \
for tagName,tag in emojiTags.items(): for tagName,tag in emojiTags.items():
emojiTagsList.append(tag) emojiTagsList.append(tag)
if not inProfileName: if not inProfileName:
displayName=htmlReplaceEmojiFromTags(displayName,emojiTagsList,'post header') displayName=replaceEmojiFromTags(displayName,emojiTagsList,'post header')
else: else:
displayName=htmlReplaceEmojiFromTags(displayName,emojiTagsList,'profile') displayName=replaceEmojiFromTags(displayName,emojiTagsList,'profile')
return displayName return displayName
def individualPostAsHtml(iconsDir: str,translate: {}, \ def individualPostAsHtml(iconsDir: str,translate: {}, \
@ -1995,7 +1971,7 @@ def individualPostAsHtml(iconsDir: str,translate: {}, \
contentStr+='</div>' contentStr+='</div>'
if postJsonObject['object'].get('tag'): if postJsonObject['object'].get('tag'):
contentStr=htmlReplaceEmojiFromTags(contentStr,postJsonObject['object']['tag'],'content') contentStr=replaceEmojiFromTags(contentStr,postJsonObject['object']['tag'],'content')
contentStr='<div class="message">'+contentStr+'</div>' contentStr='<div class="message">'+contentStr+'</div>'