summaryrefslogtreecommitdiff
path: root/htmtl/htmtl.py
diff options
context:
space:
mode:
authorAsko Nõmm <asko@nmm.ee>2025-01-06 01:16:33 +0200
committerAsko Nõmm <asko@nmm.ee>2025-01-06 01:16:33 +0200
commit4ea133608350e6e99008f46cb4c45dd18989b836 (patch)
tree2b285fce4be72873dee9c243361c258f77573ee7 /htmtl/htmtl.py
parent51904366dd5c46c8d8d37e333b538b7574360ff5 (diff)
Implement `Iterate` parser.
Diffstat (limited to 'htmtl/htmtl.py')
-rw-r--r--htmtl/htmtl.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/htmtl/htmtl.py b/htmtl/htmtl.py
index 7732f06..6570e11 100644
--- a/htmtl/htmtl.py
+++ b/htmtl/htmtl.py
@@ -1,18 +1,21 @@
from typing import Any
from dompa import Dompa
+from dompa.actions import ToHtml
+from dompa.nodes import Node
from .parser import Parser
from .parsers.generic_value import GenericValue
from .parsers.inner_html import InnerHtml
from .parsers.inner_partial import InnerPartial
from .parsers.inner_text import InnerText
+from .parsers.iterate import Iterate
from .parsers.outer_html import OuterHtml
from .parsers.outer_partial import OuterPartial
from .parsers.outer_text import OuterText
+from .parsers.when import When
+from .parsers.when_not import WhenNot
from .modifier import Modifier
from .modifiers.truncate import Truncate
from .expression_parser import ExpressionParser
-from .parsers.when import When
-from .parsers.when_not import WhenNot
class Htmtl:
@@ -27,6 +30,7 @@ class Htmtl:
# set default attribute parsers
self.__attribute_parsers = [
+ Iterate,
InnerText,
InnerHtml,
InnerPartial,
@@ -64,7 +68,12 @@ class Htmtl:
parser_instance = parser(self.__data, expression_parser)
self.__dom.traverse(parser_instance.traverse)
- def html(self) -> str:
+ def to_html(self) -> str:
+ self.__parse()
+
+ return self.__dom.action(ToHtml)
+
+ def nodes(self) -> list[Node]:
self.__parse()
- return self.__dom.html() \ No newline at end of file
+ return self.__dom.get_nodes() \ No newline at end of file