summaryrefslogtreecommitdiff
path: root/htmtl/parsers
diff options
context:
space:
mode:
Diffstat (limited to 'htmtl/parsers')
-rw-r--r--htmtl/parsers/when.py14
-rw-r--r--htmtl/parsers/when_not.py14
2 files changed, 28 insertions, 0 deletions
diff --git a/htmtl/parsers/when.py b/htmtl/parsers/when.py
new file mode 100644
index 0000000..57a965a
--- /dev/null
+++ b/htmtl/parsers/when.py
@@ -0,0 +1,14 @@
+from typing import Optional
+from dompa.nodes import Node
+from ..parser import Parser
+
+
+class When(Parser):
+ def traverse(self, node: Node) -> Optional[Node]:
+ if "when" in node.attributes:
+ if not self.expression(node.attributes["when"]):
+ return None
+
+ node.attributes.pop("when")
+
+ return node \ No newline at end of file
diff --git a/htmtl/parsers/when_not.py b/htmtl/parsers/when_not.py
new file mode 100644
index 0000000..68e3d09
--- /dev/null
+++ b/htmtl/parsers/when_not.py
@@ -0,0 +1,14 @@
+from typing import Optional
+from dompa.nodes import Node
+from ..parser import Parser
+
+
+class WhenNot(Parser):
+ def traverse(self, node: Node) -> Optional[Node]:
+ if "when-not" in node.attributes:
+ if self.expression(node.attributes["when-not"]):
+ return None
+
+ node.attributes.pop("when-not")
+
+ return node \ No newline at end of file