mirror of https://gitlab.com/bashrc2/epicyon
Extra test for mentions
parent
27da1189e3
commit
c8925141ba
39
languages.py
39
languages.py
|
@ -182,6 +182,28 @@ def getLinksFromContent(content: str) -> {}:
|
|||
return links
|
||||
|
||||
|
||||
def addLinksToContent(content: str, links: {}) -> str:
|
||||
"""Adds links back into plain text
|
||||
"""
|
||||
for linkText, url in links.items():
|
||||
urlDesc = url
|
||||
if linkText.startswith('@') and linkText in content:
|
||||
content = \
|
||||
content.replace(linkText,
|
||||
'<a href="' + url +
|
||||
'" rel="nofollow noopener ' +
|
||||
'noreferrer" target="_blank">' +
|
||||
linkText + '</a>')
|
||||
else:
|
||||
if len(urlDesc) > 40:
|
||||
urlDesc = urlDesc[:40]
|
||||
content += \
|
||||
'<p><a href="' + url + \
|
||||
'" rel="nofollow noopener noreferrer" target="_blank">' + \
|
||||
urlDesc + '</a></p>'
|
||||
return content
|
||||
|
||||
|
||||
def _libretranslate(url: str, text: str,
|
||||
source: str, target: str, apiKey: str = None) -> str:
|
||||
"""Translate string using libretranslate
|
||||
|
@ -220,22 +242,7 @@ def _libretranslate(url: str, text: str,
|
|||
|
||||
# append links form the original text
|
||||
if links:
|
||||
for linkText, url in links.items():
|
||||
urlDesc = url
|
||||
if linkText.startswith('@') and linkText in translatedText:
|
||||
translatedText = \
|
||||
translatedText.replace(linkText,
|
||||
'<a href="' + url +
|
||||
'" rel="nofollow noopener ' +
|
||||
'noreferrer" target="_blank">' +
|
||||
linkText + '</a>')
|
||||
else:
|
||||
if len(urlDesc) > 40:
|
||||
urlDesc = urlDesc[:40]
|
||||
translatedText += \
|
||||
'<p><a href="' + url + \
|
||||
'" rel="nofollow noopener noreferrer" target="_blank">' + \
|
||||
urlDesc + '</a></p>'
|
||||
translatedText = addLinksToContent(translatedText, links)
|
||||
return translatedText
|
||||
|
||||
|
||||
|
|
11
tests.py
11
tests.py
|
@ -126,6 +126,7 @@ from markdown import markdownToHtml
|
|||
from languages import setActorLanguages
|
||||
from languages import getActorLanguages
|
||||
from languages import getLinksFromContent
|
||||
from languages import addLinksToContent
|
||||
|
||||
testServerAliceRunning = False
|
||||
testServerBobRunning = False
|
||||
|
@ -4236,15 +4237,19 @@ def _testGetLinksFromContent():
|
|||
link1 = 'https://somewebsite.net'
|
||||
link2 = 'http://somewhere.or.other'
|
||||
content = \
|
||||
'This is <a href="' + link1 + '">a link</a>. ' + \
|
||||
'This is <a href="' + link1 + '">@linked</a>. ' + \
|
||||
'And <a href="' + link2 + '">another</a>.'
|
||||
links = getLinksFromContent(content)
|
||||
assert len(links.items()) == 2
|
||||
assert links.get('a link')
|
||||
assert links['a link'] == link1
|
||||
assert links.get('@linked')
|
||||
assert links['@linked'] == link1
|
||||
assert links.get('another')
|
||||
assert links['another'] == link2
|
||||
|
||||
contentPlain = '<p>' + removeHtml(content) + '</p>'
|
||||
content = addLinksToContent(contentPlain, links)
|
||||
assert '>@linked</a>' in content
|
||||
|
||||
|
||||
def runAllTests():
|
||||
print('Running tests...')
|
||||
|
|
Loading…
Reference in New Issue