mirror of https://gitlab.com/bashrc2/epicyon
Shorten any long text inside of existing links
parent
ef8ca26c5c
commit
05680217c1
32
content.py
32
content.py
|
@ -529,9 +529,41 @@ def _add_music_tag(content: str, tag: str) -> str:
|
|||
return ':music: ' + content + ' ' + tag + ' '
|
||||
|
||||
|
||||
def _shorten_linked_urls(content: str) -> str:
|
||||
"""If content comes with a web link included then make sure
|
||||
that it is short enough
|
||||
"""
|
||||
if 'href=' not in content:
|
||||
return content
|
||||
if '>' not in content:
|
||||
return content
|
||||
if '<' not in content:
|
||||
return content
|
||||
sections = content.split('>')
|
||||
ctr = 0
|
||||
for section_text in sections:
|
||||
if ctr == 0:
|
||||
ctr += 1
|
||||
continue
|
||||
if '<' not in section_text:
|
||||
ctr += 1
|
||||
continue
|
||||
section_text = section_text.split('<')[0]
|
||||
if ' ' in section_text:
|
||||
continue
|
||||
if len(section_text) > MAX_LINK_LENGTH:
|
||||
content = content.replace('>' + section_text + '<',
|
||||
'>' +
|
||||
section_text[:MAX_LINK_LENGTH-1] + '<')
|
||||
ctr += 1
|
||||
return content
|
||||
|
||||
|
||||
def add_web_links(content: str) -> str:
|
||||
"""Adds markup for web links
|
||||
"""
|
||||
content = _shorten_linked_urls(content)
|
||||
|
||||
if ':' not in content:
|
||||
return content
|
||||
|
||||
|
|
12
tests.py
12
tests.py
|
@ -3523,6 +3523,18 @@ def _test_actor_parsing():
|
|||
def _test_web_links():
|
||||
print('test_web_links')
|
||||
|
||||
example_text = \
|
||||
'<p>Some text!</p><p><a href=\"https://videosite.whatever/video' + \
|
||||
'/A3JpZMovL25kci1kZS32MGE0NCg4YB1lMLQwLTRkMGEtYkYxMS5kNmQ1MjJqY' + \
|
||||
'WZjKzd\">https://videosite.whatever/video/A3JpZMovL25kci1kZS32' + \
|
||||
'MGE0NCg4YB1lMLQwLTRkMGEtYkYxMS5kNmQ1MjJqYWZjKzd</a></p>'
|
||||
linked_text = add_web_links(example_text)
|
||||
expected_text = \
|
||||
'<p>Some text!</p><p><a href="https://videosite.whatever/video/' + \
|
||||
'A3JpZMovL25kci1kZS32MGE0NCg4YB1lMLQwLTRkMGEtYkYxMS5kNmQ1MjJqYW' + \
|
||||
'ZjKzd">https://videosite.whatever/video/A3JpZM</a></p>'
|
||||
assert linked_text == expected_text
|
||||
|
||||
example_text = \
|
||||
"<p>Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + \
|
||||
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + \
|
||||
|
|
Loading…
Reference in New Issue