changeset 3399:5ff79fad209c beta

don't use double literal() calls on urlify functions
author Marcin Kuzminski <marcin@python-works.com>
date Mon, 25 Feb 2013 20:48:52 +0100
parents 1ca82b6a6349
children 35f45d0025a7
files rhodecode/lib/helpers.py
diffstat 1 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/lib/helpers.py	Mon Feb 25 17:55:18 2013 +0100
+++ b/rhodecode/lib/helpers.py	Mon Feb 25 20:48:52 2013 +0100
@@ -977,7 +977,7 @@
     return literal('<div style="width:%spx">%s%s</div>' % (width, d_a, d_d))
 
 
-def urlify_text(text_):
+def urlify_text(text_, safe=True):
     """
     Extrac urls from text and make html links out of them
 
@@ -990,8 +990,10 @@
     def url_func(match_obj):
         url_full = match_obj.groups()[0]
         return '<a href="%(url)s">%(url)s</a>' % ({'url': url_full})
-
-    return literal(url_pat.sub(url_func, text_))
+    _newtext = url_pat.sub(url_func, text_)
+    if safe:
+        return literal(_newtext)
+    return _newtext
 
 
 def urlify_changesets(text_, repository):
@@ -1062,7 +1064,7 @@
     newtext = urlify_changesets(escaper(text_), repository)
 
     # extract http/https links and make them real urls
-    newtext = urlify_text(newtext)
+    newtext = urlify_text(newtext, safe=False)
 
     try:
         from rhodecode import CONFIG