"""Utilities for working with HTML."""
-import html5lib
-from html5lib import sanitizer, serializer, tokenizer, treebuilders, treewalkers
+#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):
def sanitize_html(html):
"""Sanitizes an HTML fragment."""
- p = html5lib.HTMLParser(tokenizer=HTMLSanitizer,
+ p = HTMLParser(tokenizer=HTMLSanitizer,
tree=treebuilders.getTreeBuilder("dom"))
dom_tree = p.parseFragment(html)
walker = treewalkers.getTreeWalker("dom")
output_generator = s.serialize(stream)
return u''.join(output_generator)
+def cleanup_urls(url):
+ return quote_plus(strip_tags(url))
+
def html2text(s, ignore_tags=(), indent_width=4, page_width=80):
ignore_tags = [t.lower() for t in ignore_tags]