Fixed #22941 - Added support for domain-only links with chars after the TLD to urlize.
It now works with something like google.com/foo/bar
This commit is contained in:
parent
42f5c8f397
commit
a93ee5112d
|
@ -25,7 +25,7 @@ DOTS = ['·', '*', '\u2022', '•', '•', '•']
|
||||||
unencoded_ampersands_re = re.compile(r'&(?!(\w+|#\d+);)')
|
unencoded_ampersands_re = re.compile(r'&(?!(\w+|#\d+);)')
|
||||||
word_split_re = re.compile(r'(\s+)')
|
word_split_re = re.compile(r'(\s+)')
|
||||||
simple_url_re = re.compile(r'^https?://\[?\w', re.IGNORECASE)
|
simple_url_re = re.compile(r'^https?://\[?\w', re.IGNORECASE)
|
||||||
simple_url_2_re = re.compile(r'^www\.|^(?!http)\w[^@]+\.(com|edu|gov|int|mil|net|org)$', re.IGNORECASE)
|
simple_url_2_re = re.compile(r'^www\.|^(?!http)\w[^@]+\.(com|edu|gov|int|mil|net|org)(.*)$', re.IGNORECASE)
|
||||||
simple_email_re = re.compile(r'^\S+@\S+\.\S+$')
|
simple_email_re = re.compile(r'^\S+@\S+\.\S+$')
|
||||||
link_target_attribute_re = re.compile(r'(<a [^>]*?)target=[^\s>]+')
|
link_target_attribute_re = re.compile(r'(<a [^>]*?)target=[^\s>]+')
|
||||||
html_gunk_re = re.compile(r'(?:<br clear="all">|<i><\/i>|<b><\/b>|<em><\/em>|<strong><\/strong>|<\/?smallcaps>|<\/?uppercase>)', re.IGNORECASE)
|
html_gunk_re = re.compile(r'(?:<br clear="all">|<i><\/i>|<b><\/b>|<em><\/em>|<strong><\/strong>|<\/?smallcaps>|<\/?uppercase>)', re.IGNORECASE)
|
||||||
|
|
|
@ -2277,6 +2277,12 @@ It also supports domain-only links ending in one of the original top level
|
||||||
domains (``.com``, ``.edu``, ``.gov``, ``.int``, ``.mil``, ``.net``, and
|
domains (``.com``, ``.edu``, ``.gov``, ``.int``, ``.mil``, ``.net``, and
|
||||||
``.org``). For example, ``djangoproject.com`` gets converted.
|
``.org``). For example, ``djangoproject.com`` gets converted.
|
||||||
|
|
||||||
|
.. versionchanged:: 1.8
|
||||||
|
|
||||||
|
Support for domain-only links that include characters after the top-level
|
||||||
|
domain (e.g. ``djangoproject.com/`` and ``djangoproject.com/download/``)
|
||||||
|
was added.
|
||||||
|
|
||||||
Links can have trailing punctuation (periods, commas, close-parens) and leading
|
Links can have trailing punctuation (periods, commas, close-parens) and leading
|
||||||
punctuation (opening parens), and ``urlize`` will still do the right thing.
|
punctuation (opening parens), and ``urlize`` will still do the right thing.
|
||||||
|
|
||||||
|
|
|
@ -207,7 +207,9 @@ Signals
|
||||||
Templates
|
Templates
|
||||||
^^^^^^^^^
|
^^^^^^^^^
|
||||||
|
|
||||||
* ...
|
* :tfilter:`urlize` now supports domain-only links that include characters after
|
||||||
|
the top-level domain (e.g. ``djangoproject.com/`` and
|
||||||
|
``djangoproject.com/download/``).
|
||||||
|
|
||||||
Requests and Responses
|
Requests and Responses
|
||||||
^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
|
@ -264,6 +264,8 @@ class DefaultFiltersTests(TestCase):
|
||||||
'<a href="http://www.google.com" rel="nofollow">www.google.com</a>')
|
'<a href="http://www.google.com" rel="nofollow">www.google.com</a>')
|
||||||
self.assertEqual(urlize('djangoproject.org'),
|
self.assertEqual(urlize('djangoproject.org'),
|
||||||
'<a href="http://djangoproject.org" rel="nofollow">djangoproject.org</a>')
|
'<a href="http://djangoproject.org" rel="nofollow">djangoproject.org</a>')
|
||||||
|
self.assertEqual(urlize('djangoproject.org/'),
|
||||||
|
'<a href="http://djangoproject.org/" rel="nofollow">djangoproject.org/</a>')
|
||||||
self.assertEqual(urlize('info@djangoproject.org'),
|
self.assertEqual(urlize('info@djangoproject.org'),
|
||||||
'<a href="mailto:info@djangoproject.org">info@djangoproject.org</a>')
|
'<a href="mailto:info@djangoproject.org">info@djangoproject.org</a>')
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue