summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell Keith-Magee <russell@keith-magee.com>2008-06-19 12:05:39 +0000
committerRussell Keith-Magee <russell@keith-magee.com>2008-06-19 12:05:39 +0000
commit5da67a084ad6a814c867c3c374f7e869dffac29e (patch)
tree1681ae04d49f0c92bdee89e72be786bf393cb608
parentd943c19428624a14f9d1b5103d8a4541ede2a8af (diff)
Fixed #7355 -- Modified urlize utility to handle https:// addresses. Thanks for the report and patch, clint.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7701 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/utils/html.py2
-rw-r--r--tests/regressiontests/defaultfilters/tests.py21
2 files changed, 22 insertions, 1 deletions
diff --git a/django/utils/html.py b/django/utils/html.py
index 17ff78a2b5..07e4f0d3f4 100644
--- a/django/utils/html.py
+++ b/django/utils/html.py
@@ -99,7 +99,7 @@ def urlize(text, trim_url_limit=None, nofollow=False, autoescape=False):
lead, middle, trail = match.groups()
if safe_input:
middle = mark_safe(middle)
- if middle.startswith('www.') or ('@' not in middle and not middle.startswith('http://') and \
+ if middle.startswith('www.') or ('@' not in middle and not (middle.startswith('http://') or middle.startswith('https://')) and \
len(middle) > 0 and middle[0] in string.ascii_letters + string.digits and \
(middle.endswith('.org') or middle.endswith('.net') or middle.endswith('.com'))):
middle = 'http://%s' % middle
diff --git a/tests/regressiontests/defaultfilters/tests.py b/tests/regressiontests/defaultfilters/tests.py
index 4a8b68a897..62403935d4 100644
--- a/tests/regressiontests/defaultfilters/tests.py
+++ b/tests/regressiontests/defaultfilters/tests.py
@@ -166,6 +166,27 @@ u'<a href="http://31characteruri.com/test/" rel="nofollow">http://31characteruri
>>> urlizetrunc(uri, 2)
u'<a href="http://31characteruri.com/test/" rel="nofollow">...</a>'
+# Check normal urlize
+>>> urlize('http://google.com')
+u'<a href="http://google.com" rel="nofollow">http://google.com</a>'
+
+>>> urlize('http://google.com/')
+u'<a href="http://google.com/" rel="nofollow">http://google.com/</a>'
+
+>>> urlize('www.google.com')
+u'<a href="http://www.google.com" rel="nofollow">http://www.google.com</a>'
+
+>>> urlize('djangoproject.org')
+u'<a href="http://djangoproject.org" rel="nofollow">http://djangoproject.org</a>'
+
+>>> urlize('info@djangoproject.org')
+u'<a href="mailto:info@djangoproject.org">info@djangoproject.org</a>'
+
+# Check urlize with https addresses
+>>> urlize('https://google.com')
+u'<a href="https://google.com" rel="nofollow">https://google.com</a>'
+
+
>>> wordcount('')
0