Show More
@@ -1268,16 +1268,12 b' def fancy_file_stats(stats):' | |||
|
1268 | 1268 | return literal('<div style="width:%spx">%s%s</div>' % (width, d_a, d_d)) |
|
1269 | 1269 | |
|
1270 | 1270 | |
|
1271 | def _urlify_text_replace(match_obj): | |
|
1272 | url_full = match_obj.group(1) | |
|
1273 | return '<a href="%(url)s">%(url)s</a>' % {'url': url_full} | |
|
1274 | ||
|
1271 | _URLIFY_RE = re.compile(r''' | |
|
1272 | # URL markup | |
|
1273 | (?P<url>%s) | |
|
1274 | ''' % (url_re.pattern), | |
|
1275 | re.VERBOSE | re.MULTILINE | re.IGNORECASE) | |
|
1275 | 1276 | |
|
1276 | def _urlify_text(s): | |
|
1277 | """ | |
|
1278 | Extract urls from text and make html links out of them | |
|
1279 | """ | |
|
1280 | return url_re.sub(_urlify_text_replace, s) | |
|
1281 | 1277 | |
|
1282 | 1278 | |
|
1283 | 1279 | def urlify_text(s, repo_name=None, link_=None, truncate=None, stylize=False, truncatef=truncate): |
@@ -1289,6 +1285,19 b' def urlify_text(s, repo_name=None, link_' | |||
|
1289 | 1285 | Issues are linked to given issue-server. |
|
1290 | 1286 | If link_ is provided, all text not already linking somewhere will link there. |
|
1291 | 1287 | """ |
|
1288 | ||
|
1289 | def _replace(match_obj): | |
|
1290 | url = match_obj.group('url') | |
|
1291 | if url is not None: | |
|
1292 | return '<a href="%(url)s">%(url)s</a>' % {'url': url} | |
|
1293 | return match_obj.group(0) | |
|
1294 | ||
|
1295 | def _urlify(s): | |
|
1296 | """ | |
|
1297 | Extract urls from text and make html links out of them | |
|
1298 | """ | |
|
1299 | return _URLIFY_RE.sub(_replace, s) | |
|
1300 | ||
|
1292 | 1301 | if truncate is None: |
|
1293 | 1302 | s = s.rstrip() |
|
1294 | 1303 | else: |
@@ -1298,7 +1307,7 b' def urlify_text(s, repo_name=None, link_' | |||
|
1298 | 1307 | s = urlify_changesets(s, repo_name) |
|
1299 | 1308 | if stylize: |
|
1300 | 1309 | s = desc_stylize(s) |
|
1301 |
s = _urlify |
|
|
1310 | s = _urlify(s) | |
|
1302 | 1311 | if repo_name is not None: |
|
1303 | 1312 | s = urlify_issues(s, repo_name, link_) |
|
1304 | 1313 | s = MENTIONS_REGEX.sub(_mentions_replace, s) |
@@ -35,8 +35,9 b' from kallithea.lib.utils2 import safe_un' | |||
|
35 | 35 | log = logging.getLogger(__name__) |
|
36 | 36 | |
|
37 | 37 | |
|
38 |
url_re = re.compile(r''' |
|
|
39 |
r'''(?:[/a-zA-Z0-9_=@#~&+%.,:;?!*()-]*[/a-zA-Z0-9_=@#~])? |
|
|
38 | url_re = re.compile(r'''\bhttps?://(?:[\da-zA-Z0-9@:.-]+)''' | |
|
39 | r'''(?:[/a-zA-Z0-9_=@#~&+%.,:;?!*()-]*[/a-zA-Z0-9_=@#~])?''') | |
|
40 | ||
|
40 | 41 | |
|
41 | 42 | class MarkupRenderer(object): |
|
42 | 43 | RESTRUCTUREDTEXT_DISALLOWED_DIRECTIVES = ['include', 'meta', 'raw'] |
@@ -132,7 +133,7 b' class MarkupRenderer(object):' | |||
|
132 | 133 | source = newline.join(source.splitlines()) |
|
133 | 134 | |
|
134 | 135 | def url_func(match_obj): |
|
135 |
url_full = match_obj.group |
|
|
136 | url_full = match_obj.group(0) | |
|
136 | 137 | return '<a href="%(url)s">%(url)s</a>' % ({'url': url_full}) |
|
137 | 138 | source = url_re.sub(url_func, source) |
|
138 | 139 | return '<br />' + source.replace("\n", '<br />') |
General Comments 0
You need to be logged in to leave comments.
Login now