Fix #1488 some more: compile the regex' less often for better performance

This commit is contained in:
Martin Gross
2020-04-17 17:53:57 +02:00
parent 7ce4c30922
commit 2030aaf12e
3 changed files with 12 additions and 8 deletions

View File

@@ -65,6 +65,10 @@ ALLOWED_ATTRIBUTES = {
ALLOWED_PROTOCOLS = ['http', 'https', 'mailto', 'tel']
URL_RE = build_url_re(tlds=tld_set)
EMAIL_RE = build_email_re(tlds=tld_set)
def safelink_callback(attrs, new=False):
url = attrs.get((None, 'href'), '/')
@@ -87,8 +91,8 @@ def abslink_callback(attrs, new=False):
def markdown_compile_email(source):
linker = bleach.Linker(
url_re=build_url_re(tlds=tld_set),
email_re=build_email_re(tlds=tld_set),
url_re=URL_RE,
email_re=EMAIL_RE,
parse_email=True
)
return linker.linkify(bleach.clean(
@@ -129,8 +133,8 @@ def rich_text(text: str, **kwargs):
"""
text = str(text)
linker = bleach.Linker(
url_re=build_url_re(tlds=tld_set),
email_re=build_email_re(tlds=tld_set),
url_re=URL_RE,
email_re=EMAIL_RE,
callbacks=DEFAULT_CALLBACKS + ([safelink_callback] if kwargs.get('safelinks', True) else [abslink_callback]),
parse_email=True
)
@@ -145,8 +149,8 @@ def rich_text_snippet(text: str, **kwargs):
"""
text = str(text)
linker = bleach.Linker(
url_re=build_url_re(tlds=tld_set),
email_re=build_email_re(tlds=tld_set),
url_re=URL_RE,
email_re=EMAIL_RE,
callbacks=DEFAULT_CALLBACKS + ([safelink_callback] if kwargs.get('safelinks', True) else [abslink_callback]),
parse_email=True
)

View File

@@ -31,7 +31,7 @@ dj-static
csscompressor
django-markup
markdown<=2.2
bleach>=3.1.3
bleach>=3.1.3,<3.2.0
sentry-sdk==0.14.*
babel
django-i18nfield>=1.7.0

View File

@@ -120,7 +120,7 @@ setup(
'csscompressor',
'django-markup',
'markdown<=2.2',
'bleach>=3.1.3',
'bleach>=3.1.3,<3.2.0',
'sentry-sdk==0.14.*',
'babel',
'paypalrestsdk==1.13.*',