コード例 #1
0
ファイル: handler.py プロジェクト: CrsiX/WebsiteCrawler
        def stylesheet_filter_func(tag: bs4.element.Tag) -> bool:
            """
            Filter function for stylesheet tags only
            """

            if tag.has_attr("rel"):
                is_css = "stylesheet" in tag.get("rel")
                enabled = not tag.has_attr("disabled")
                if is_css and enabled:
                    return True
            return False
コード例 #2
0
ファイル: markdown.py プロジェクト: Stefan4472/Stefans-Blog
def _render_code(code_elem: bs4.element.Tag) -> str:
    """Render custom <x-code> element into an HTML string."""
    language = code_elem['language'] if code_elem.has_attr(
        'language') else None
    contents = code_elem.contents[0]
    try:
        # Use `TextLexer` as default if no language specified
        lexer = get_lexer_by_name(language if language else 'text')
    except pygments.util.ClassNotFound:
        raise ValueError(
            f'Invalid "language" parameter in <x-code> element {language}')
    # TODO: COULD PROVIDE A GLOBAL SETTING FOR THE 'STYLE' TO USE (see https://pygments.org/styles/)
    # https://pygments.org/docs/formatters/#HtmlFormatter
    formatter = HtmlFormatter(noclasses=True)
    return pygments.highlight(contents.strip(), lexer, formatter)
コード例 #3
0
ファイル: page.py プロジェクト: ketilkn/bloodbowl-utility
def _parse_link(el: bs4.element.Tag) -> Link:
    onclick = el.get('onclick') if el.has_attr('onclick') else None
    return Link(text=el.text, href=None, onclick=onclick)
コード例 #4
0
 def meets_condition(self, tag: bs4.element.Tag):
     return tag.has_attr(self.kwargs['condition'])