From 77ccbcae5ede73e1a71455c804e67fa320ea7cdf Mon Sep 17 00:00:00 2001 From: Marcin Kuzminski Date: Thu, 14 Sep 2017 11:26:46 +0200 Subject: [PATCH] markup: use cached version of http pattern for urlify_text. This increases performance because we don't have to compile the pattern each time we execute this commonly used function. --- rhodecode/lib/markup_renderer.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rhodecode/lib/markup_renderer.py b/rhodecode/lib/markup_renderer.py index 184f82f2..4f90a3b1 100644 --- a/rhodecode/lib/markup_renderer.py +++ b/rhodecode/lib/markup_renderer.py @@ -177,6 +177,9 @@ class MarkupRenderer(object): JUPYTER_PAT = re.compile(r'\.(ipynb)$', re.IGNORECASE) PLAIN_PAT = re.compile(r'^readme$', re.IGNORECASE) + URL_PAT = re.compile(r'(http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]' + r'|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+)') + extensions = ['codehilite', 'extra', 'def_list', 'sane_lists'] markdown_renderer = markdown.Markdown( extensions, safe_mode=True, enable_attributes=False) @@ -300,14 +303,11 @@ class MarkupRenderer(object): @classmethod def urlify_text(cls, text): - url_pat = re.compile(r'(http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]' - r'|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+)') - def url_func(match_obj): url_full = match_obj.groups()[0] return '%(url)s' % ({'url': url_full}) - return url_pat.sub(url_func, text) + return cls.URL_PAT.sub(url_func, text) @classmethod def plain(cls, source, universal_newline=True):