X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/49d0961a6f7f585f707cd08817f3e0a9f1a19212..4bbb2156110a75e84ef95ee28ba31490d986b870:/forum/utils/html.py?ds=sidebyside diff --git a/forum/utils/html.py b/forum/utils/html.py index 6afaf62..3657ef6 100644 --- a/forum/utils/html.py +++ b/forum/utils/html.py @@ -1,9 +1,9 @@ """Utilities for working with HTML.""" -#import html5lib from html5lib import sanitizer, serializer, tokenizer, treebuilders, treewalkers, HTMLParser +from urllib import quote_plus from django.utils.html import strip_tags from forum.utils.html2text import HTML2Text -from django.template import mark_safe +from django.utils.safestring import mark_safe from forum import settings class HTMLSanitizerMixin(sanitizer.HTMLSanitizerMixin): @@ -50,7 +50,7 @@ def sanitize_html(html): return u''.join(output_generator) def cleanup_urls(url): - return strip_tags(url) + return quote_plus(strip_tags(url)) def html2text(s, ignore_tags=(), indent_width=4, page_width=80): @@ -68,8 +68,7 @@ def hyperlink(url, title, **attrs): return mark_safe('%s' % (url, " ".join('%s="%s"' % i for i in attrs.items()), title)) def objlink(obj, **attrs): - return hyperlink(settings.APP_URL + obj.get_absolute_url(), unicode(obj), **attrs) - - - - + link = obj.get_absolute_url() + if not link.startswith(settings.APP_URL): + link = settings.APP_URL + link + return hyperlink(link, unicode(obj), **attrs)