summaryrefslogtreecommitdiff
path: root/htmtl/parsers/outer_html.py
diff options
context:
space:
mode:
authorAsko Nõmm <asko@nmm.ee>2025-01-02 22:12:39 +0200
committerAsko Nõmm <asko@nmm.ee>2025-01-02 22:12:39 +0200
commit61c0b0d134d05c1647fa3356486d209bac87d8f6 (patch)
tree3e21dfc63efb1262b6101733b9d1335ce33414fa /htmtl/parsers/outer_html.py
parent89848de97da23a8c732f54bde15080b09e2bb9d9 (diff)
Implement `GenericValue`, `InnerHtml` and `OuterHtml` parsers.
Diffstat (limited to 'htmtl/parsers/outer_html.py')
-rw-r--r--htmtl/parsers/outer_html.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/htmtl/parsers/outer_html.py b/htmtl/parsers/outer_html.py
new file mode 100644
index 0000000..72df638
--- /dev/null
+++ b/htmtl/parsers/outer_html.py
@@ -0,0 +1,14 @@
+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:
+ return FragmentNode(children=Dompa(self.expression(node.attributes["outer-html"])).nodes())
+
+ return node \ No newline at end of file