forked from indymedia/epicyon
Emoji search
parent
f9e89c0a05
commit
3fbc80c68b
15
daemon.py
15
daemon.py
|
@ -87,6 +87,7 @@ from webinterface import htmlGetLoginCredentials
|
|||
from webinterface import htmlNewPost
|
||||
from webinterface import htmlFollowConfirm
|
||||
from webinterface import htmlSearch
|
||||
from webinterface import htmlSearchEmoji
|
||||
from webinterface import htmlUnfollowConfirm
|
||||
from webinterface import htmlProfileAfterSearch
|
||||
from webinterface import htmlEditProfile
|
||||
|
@ -2404,6 +2405,20 @@ class PubServer(BaseHTTPRequestHandler):
|
|||
self.wfile.write(msg)
|
||||
self.server.POSTbusy=False
|
||||
return
|
||||
elif searchStr.startswith(':') or \
|
||||
searchStr.lower().strip('\n').endswith(' emoji'):
|
||||
# eg. "cat emoji"
|
||||
if searchStr.lower().strip('\n').endswith(' emoji'):
|
||||
searchStr=searchStr.lower().strip('\n').replace(' emoji','')
|
||||
# emoji search
|
||||
emojiStr= \
|
||||
htmlSearchEmoji(self.server.baseDir,searchStr)
|
||||
if emojiStr:
|
||||
msg=sharedItemsStr.encode('utf-8')
|
||||
self._login_headers('text/html',len(msg))
|
||||
self.wfile.write(msg)
|
||||
self.server.POSTbusy=False
|
||||
return
|
||||
else:
|
||||
# shared items search
|
||||
sharedItemsStr= \
|
||||
|
|
|
@ -46,6 +46,46 @@ def getPersonAvatarUrl(personUrl: str,personCache: {}) -> str:
|
|||
return personJson['icon']['url']
|
||||
return None
|
||||
|
||||
def htmlSearchEmoji(baseDir: str,searchStr: str) -> str:
|
||||
"""Search results for emoji
|
||||
"""
|
||||
|
||||
searchStr=searchStr.lower().replace(':','').strip('\n')
|
||||
with open(baseDir+'/epicyon-profile.css', 'r') as cssFile:
|
||||
emojiCSS=cssFile.read()
|
||||
emojiLookupFilename=baseDir+'/emoji/emoji.json'
|
||||
|
||||
# create header
|
||||
emojiForm=htmlHeader(emojiCSS)
|
||||
emojiForm+='<center><h1>Emoji Search</h1></center>'
|
||||
|
||||
# does the lookup file exist?
|
||||
if not os.path.isfile(emojiLookupFilename):
|
||||
emojiForm+='<center><h5>No results</h5></center>'
|
||||
emojiForm+=htmlFooter()
|
||||
return emojiForm
|
||||
|
||||
with open(emojiLookupFilename, 'r') as fp:
|
||||
emojiJson=commentjson.load(fp)
|
||||
results={}
|
||||
if emojiJson.get(searchStr):
|
||||
# exact match
|
||||
results[searchStr] = emojiJson[searchStr]+'.png'
|
||||
else:
|
||||
for emojiName,filename in emojiJson.items():
|
||||
if searchStr in emojiName:
|
||||
results[emojiName] = filename+'.png'
|
||||
for emojiName,filename in emojiJson.items():
|
||||
if emojiName in searchStr:
|
||||
results[emojiName] = filename+'.png'
|
||||
emojiForm+='<center>'
|
||||
for emojiName,filename in results.items():
|
||||
emojiForm+='<h5>:'+emojiName+':<img src="/emoji/'+filename+'"/></h5>'
|
||||
emojiForm+='</center>'
|
||||
|
||||
emojiForm+=htmlFooter()
|
||||
return emojiForm
|
||||
|
||||
def htmlSearchSharedItems(baseDir: str,searchStr: str,pageNumber: int,resultsPerPage: int,actor: str) -> str:
|
||||
"""Search results for shared items
|
||||
"""
|
||||
|
|
Loading…
Reference in New Issue