Commit c09351ae authored by Malcolm Tredinnick's avatar Malcolm Tredinnick
Browse files

Fixed #6965 -- Sped up the urlize and urlizetrunc filters. A nice patch from Andrew Badr.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@7985 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 67eeb72e
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -94,6 +94,8 @@ def urlize(text, trim_url_limit=None, nofollow=False, autoescape=False):
    words = word_split_re.split(force_unicode(text))
    nofollow_attr = nofollow and ' rel="nofollow"' or ''
    for i, word in enumerate(words):
        match = None
        if '.' in word or '@' in word or ':' in word:
            match = punctuation_re.match(word)
        if match:
            lead, middle, trail = match.groups()
@@ -102,7 +104,7 @@ def urlize(text, trim_url_limit=None, nofollow=False, autoescape=False):
            if middle.startswith('http://') or middle.startswith('https://'):
                url = urlquote(middle, safe='/&=:;#?+*')
            elif middle.startswith('www.') or ('@' not in middle and \
                    len(middle) > 0 and middle[0] in string.ascii_letters + string.digits and \
                    middle and middle[0] in string.ascii_letters + string.digits and \
                    (middle.endswith('.org') or middle.endswith('.net') or middle.endswith('.com'))):
                url = urlquote('http://%s' % middle, safe='/&=:;#?+*')
            elif '@' in middle and not ':' in middle and simple_email_re.match(middle):