# 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('</?\w.*?>', '', html)
Comments