Mercurial > kallithea
changeset 6185:26648b25473d
helpers: inline stylize markup in urlify_text
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Tue, 06 Sep 2016 00:51:18 +0200 |
parents | ca830f9d01a8 |
children | 24632b87a263 |
files | kallithea/lib/helpers.py |
diffstat | 1 files changed, 24 insertions(+), 26 deletions(-) [+] |
line wrap: on
line diff
--- a/kallithea/lib/helpers.py Tue Sep 06 00:51:18 2016 +0200 +++ b/kallithea/lib/helpers.py Tue Sep 06 00:51:18 2016 +0200 @@ -540,29 +540,6 @@ return id_ -def desc_stylize(value): - """ - converts tags from value into html equivalent - - :param value: - """ - if not value: - return '' - - value = re.sub(r'\[see\ \=>\ *([a-zA-Z0-9\/\=\?\&\ \:\/\.\-]*)\]', - '<div class="metatag" tag="see">see => \\1 </div>', value) - value = re.sub(r'\[license\ \=>\ *([a-zA-Z0-9\/\=\?\&\ \:\/\.\-]*)\]', - '<div class="metatag" tag="license"><a href="http:\/\/www.opensource.org/licenses/\\1">\\1</a></div>', value) - value = re.sub(r'\[(requires|recommends|conflicts|base)\ \=>\ *([a-zA-Z0-9\-\/]*)\]', - '<div class="metatag" tag="\\1">\\1 => <a href="/\\2">\\2</a></div>', value) - value = re.sub(r'\[(lang|language)\ \=>\ *([a-zA-Z\-\/\#\+]*)\]', - '<div class="metatag" tag="lang">\\2</div>', value) - value = re.sub(r'\[([a-z]+)\]', - '<div class="metatag" tag="\\1">\\1</div>', value) - - return value - - def boolicon(value): """Returns boolean value of a value, represented as small html image of true/false icons @@ -1270,7 +1247,13 @@ _URLIFY_RE = re.compile(r''' # URL markup -(?P<url>%s) +(?P<url>%s) | +# "Stylize" markup +\[see\ \=>\ *(?P<seen>[a-zA-Z0-9\/\=\?\&\ \:\/\.\-]*)\] | +\[license\ \=>\ *(?P<license>[a-zA-Z0-9\/\=\?\&\ \:\/\.\-]*)\] | +\[(?P<tagtype>requires|recommends|conflicts|base)\ \=>\ *(?P<tagvalue>[a-zA-Z0-9\-\/]*)\] | +\[(?:lang|language)\ \=>\ *(?P<lang>[a-zA-Z\-\/\#\+]*)\] | +\[(?P<tag>[a-z]+)\] ''' % (url_re.pattern), re.VERBOSE | re.MULTILINE | re.IGNORECASE) @@ -1290,6 +1273,23 @@ url = match_obj.group('url') if url is not None: return '<a href="%(url)s">%(url)s</a>' % {'url': url} + if stylize: + seen = match_obj.group('seen') + if seen: + return '<div class="metatag" tag="see">see => %s</div>' % seen + license = match_obj.group('license') + if license: + return '<div class="metatag" tag="license"><a href="http:\/\/www.opensource.org/licenses/%s">%s</a></div>' % (license, license) + tagtype = match_obj.group('tagtype') + if tagtype: + tagvalue = match_obj.group('tagvalue') + return '<div class="metatag" tag="%s">%s => <a href="/%s">%s</a></div>' % (tagtype, tagtype, tagvalue, tagvalue) + lang = match_obj.group('lang') + if lang: + return '<div class="metatag" tag="lang">%s</div>' % lang + tag = match_obj.group('tag') + if tag: + return '<div class="metatag" tag="%s">%s</div>' % (tag, tag) return match_obj.group(0) def _urlify(s): @@ -1305,8 +1305,6 @@ s = html_escape(s) if repo_name is not None: s = urlify_changesets(s, repo_name) - if stylize: - s = desc_stylize(s) s = _urlify(s) if repo_name is not None: s = urlify_issues(s, repo_name, link_)