コード例 #1
0
def is_valid_html(html):
    try:
        fragments_fromstring(html.encode('utf-8'),
                             parser=HTMLParser(strict=True))
    except ParseError:
        return False
    return True
コード例 #2
0
 def parse(self, markup):
     parser = html5parser.HTMLParser(namespaceHTMLElements=False)
     with warnings.catch_warnings():
         warnings.simplefilter("ignore")
         return html5parser.fragments_fromstring(markup,
                                                 guess_charset=False,
                                                 parser=parser)
コード例 #3
0
    def _validate_htmloutput(self, htmloutput, field, value):
        try:
            fragments_fromstring(value.encode('utf-8'),
                                 parser=HTMLParser(strict=True))
        except ParseError as e:
            return self._error(
                field, 'The provided HTML template is not valid: {}'.format(e))

        if isinstance(htmloutput, dict):
            if htmloutput.get('template_vars_required'):
                vars = re.findall('\$(\w+)', value)
                if not len(vars):
                    return self._error(
                        field,
                        "The provided HTML template is not valid: no vars available."
                    )
コード例 #4
0
ファイル: html2slate.py プロジェクト: eea/eea.volto.slate
    def to_slate(self, text):
        " Convert text to a slate value. A slate value is a list of elements "

        fragments = html5parser.fragments_fromstring(text)
        nodes = []
        for f in fragments:
            nodes += self.deserialize(f)

        return self.normalize(nodes)
コード例 #5
0
 def call_it(self, *args, **kwargs):
     from lxml.html.html5parser import fragments_fromstring
     return fragments_fromstring(*args, **kwargs)
コード例 #6
0
ファイル: test_html5parser.py プロジェクト: dairiki/lxml
 def call_it(self, *args, **kwargs):
     from lxml.html.html5parser import fragments_fromstring
     return fragments_fromstring(*args, **kwargs)