mirror of
https://github.com/lutris/lutris
synced 2024-07-25 03:44:12 +00:00
Make links clickable in installer messages
This commit is contained in:
parent
3da3d1ac1f
commit
817fb2eaaa
|
@ -16,7 +16,7 @@ from lutris import pga
|
|||
from lutris.util import extract
|
||||
from lutris.util.jobs import async_call
|
||||
from lutris.util.log import logger
|
||||
from lutris.util.strings import slugify
|
||||
from lutris.util.strings import slugify, add_url_tags
|
||||
from lutris.util.system import calculate_md5, substitute, merge_folders
|
||||
|
||||
from lutris.runners import winesteam, steam
|
||||
|
@ -697,7 +697,7 @@ class InstallerDialog(Gtk.Window):
|
|||
|
||||
def set_message(self, message):
|
||||
label = Gtk.Label()
|
||||
label.set_markup('<b>%s</b>' % message)
|
||||
label.set_markup('<b>%s</b>' % add_url_tags(message))
|
||||
label.set_alignment(0, 0)
|
||||
label.show()
|
||||
self.widget_box.pack_start(label, False, False, 10)
|
||||
|
|
|
@ -12,3 +12,13 @@ def slugify(value):
|
|||
'ignore')
|
||||
value = unicode(re.sub('[^\w\s-]', '', value).strip().lower())
|
||||
return re.sub('[-\s]+', '-', value)
|
||||
|
||||
|
||||
def add_url_tags(text):
|
||||
""" Surrounds URL with <a> tags """
|
||||
return re.sub(
|
||||
r'(http[s]?://('
|
||||
r'?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+)',
|
||||
r'<a href="\1">\1</a>',
|
||||
text
|
||||
)
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
from unittest import TestCase
|
||||
from lutris.util import system
|
||||
from lutris.util import steam
|
||||
from lutris.util import strings
|
||||
|
||||
|
||||
class TestFileUtils(TestCase):
|
||||
|
@ -55,3 +56,22 @@ class TestSteamUtils(TestCase):
|
|||
}"""
|
||||
vdf_data = steam.to_vdf(dict_data)
|
||||
self.assertEqual(vdf_data.strip(), expected_vdf.strip())
|
||||
|
||||
|
||||
class TestStringUtils(TestCase):
|
||||
def test_add_url_tags(self):
|
||||
self.assertEqual(strings.add_url_tags("foo bar"), "foo bar")
|
||||
self.assertEqual(
|
||||
strings.add_url_tags("foo http://lutris.net bar"),
|
||||
"foo <a href=\"http://lutris.net\">http://lutris.net</a> bar"
|
||||
)
|
||||
self.assertEqual(
|
||||
strings.add_url_tags("http://lutris.net"),
|
||||
"<a href=\"http://lutris.net\">http://lutris.net</a>"
|
||||
)
|
||||
text = "foo http://lutris.net bar http://strycore.com"
|
||||
expected = (
|
||||
'foo <a href="http://lutris.net">http://lutris.net</a> '
|
||||
'bar <a href="http://strycore.com">http://strycore.com</a>'
|
||||
)
|
||||
self.assertEqual(strings.add_url_tags(text), expected)
|
||||
|
|
Loading…
Reference in a new issue