From 689fe2613765de71101214a482c928cfdb1b2be6 Mon Sep 17 00:00:00 2001 From: Asko Nõmm Date: Thu, 2 Jan 2025 01:30:23 +0200 Subject: Clean up some naming usages and things --- htmtl/parsers/__init__.py | 2 ++ htmtl/parsers/inner_text.py | 13 +++++++++++++ htmtl/parsers/outer_text.py | 12 ++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 htmtl/parsers/__init__.py create mode 100644 htmtl/parsers/inner_text.py create mode 100644 htmtl/parsers/outer_text.py (limited to 'htmtl/parsers') diff --git a/htmtl/parsers/__init__.py b/htmtl/parsers/__init__.py new file mode 100644 index 0000000..4ad8185 --- /dev/null +++ b/htmtl/parsers/__init__.py @@ -0,0 +1,2 @@ +from .inner_text import InnerText +from .outer_text import OuterText \ No newline at end of file diff --git a/htmtl/parsers/inner_text.py b/htmtl/parsers/inner_text.py new file mode 100644 index 0000000..52fc0b4 --- /dev/null +++ b/htmtl/parsers/inner_text.py @@ -0,0 +1,13 @@ +from typing import Optional + +from dompa.nodes import Node, TextNode +from ..parser import Parser + + +class InnerText(Parser): + def traverse(self, node: Node) -> Optional[Node]: + if "inner-text" in node.attributes: + node.children = [TextNode(value=self.expression(node.attributes["inner-text"]))] + node.attributes.pop("inner-text") + + return node \ No newline at end of file diff --git a/htmtl/parsers/outer_text.py b/htmtl/parsers/outer_text.py new file mode 100644 index 0000000..78b0fce --- /dev/null +++ b/htmtl/parsers/outer_text.py @@ -0,0 +1,12 @@ +from typing import Optional + +from dompa.nodes import Node, TextNode +from ..parser import Parser + + +class OuterText(Parser): + def traverse(self, node: Node) -> Optional[Node]: + if "outer-text" in node.attributes: + return TextNode(value=self.expression(node.attributes["outer-text"])) + + return node -- cgit v1.2.3