summaryrefslogtreecommitdiff
path: root/htmtl/parsers/outer_html.py
blob: 27d2daf20487d567f7f477117f486d4fe78fdf19 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
from typing import Optional

from dompa import Dompa
from dompa.nodes import Node, FragmentNode

from ..parser import Parser


class OuterHtml(Parser):
    def traverse(self, node: Node) -> Optional[Node]:
        if "outer-html" in node.attributes:
            exp = self.parse_expression(node.attributes["outer-html"])

            return FragmentNode(children=Dompa(exp).get_nodes())

        return node