diff --git a/premailer/premailer.py b/premailer/premailer.py index 16fc3e3..6720fda 100644 --- a/premailer/premailer.py +++ b/premailer/premailer.py @@ -8,7 +8,7 @@ import cssutils from lxml import etree -from lxml.cssselect import CSSSelector +from lxml.cssselect import CSSSelector, SelectorError __all__ = ['PremailerError', 'Premailer', 'transform'] @@ -86,6 +86,14 @@ def make_important(bulk): for p in bulk.split(';')) +def is_valid_selector(selector): + try: + CSSSelector(selector) + return True + except SelectorError: + return False + + _element_selector_regex = re.compile(r'(^|\s)\w') _cdata_regex = re.compile(r'\<\!\[CDATA\[(.*?)\]\]\>', re.DOTALL) _importants = re.compile('\s*!important') @@ -105,11 +113,13 @@ def __init__(self, html, base_url=None, strip_important=True, external_styles=None, method="html", - base_path=None): + base_path=None, + trust_pseudoclasses=False): self.html = html self.base_url = base_url self.preserve_internal_links = preserve_internal_links self.exclude_pseudoclasses = exclude_pseudoclasses + self.trust_pseudoclasses = trust_pseudoclasses # whether to delete the + +
+Middle child
+