summaryrefslogtreecommitdiff
path: root/htmtl/parsers/inner_html.py
blob: 60e90caeeb501239390660926816086118c6ce1f (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

from ..parser import Parser


class InnerHtml(Parser):
    def traverse(self, node: Node) -> Optional[Node]:
        if "inner-html" in node.attributes:
            child_nodes = Dompa(self.expression(node.attributes["inner-html"])).nodes()
            node.children = child_nodes
            node.attributes.pop("inner-html")

        return node