# python import re from cStringIO import StringIO # django from django.test import TestCase class BaseTestCase(TestCase): def _zoom_html(self, html, css_selector): try: from lxml.html import parse from lxml import etree from lxml.cssselect import CSSSelector except ImportError: return html parser = etree.HTMLParser() tree = etree.parse(StringIO(html), parser) page = tree.getroot() if isinstance(css_selector, basestring): selector = CSSSelector(css_selector) else: raise ValueError("css_select must be a string") html_chunks = [] for part in selector(page): html_chunks.append(etree.tostring(part, pretty_print=True)) return ''.join(html_chunks) def _strip_html(self, html): return re.sub('', '', html)