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

from dompa import Dompa
from dompa.nodes import Node

from ..parser import Parser
import htmtl


class InnerPartial(Parser):
    def traverse(self, node: Node) -> Optional[Node]:
        if "inner-partial" in node.attributes:
            exp = self.parse_expression(node.attributes["inner-partial"])
            template = htmtl.Htmtl(exp, self.get_data())
            child_nodes = Dompa(template.to_html()).get_nodes()
            node.children = child_nodes
            node.attributes.pop("inner-partial")

        return node