aboutsummaryrefslogtreecommitdiff
path: root/mammoth/html/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'mammoth/html/__init__.py')
-rw-r--r--mammoth/html/__init__.py30
1 files changed, 11 insertions, 19 deletions
diff --git a/mammoth/html/__init__.py b/mammoth/html/__init__.py
index cf84043..6e97ead 100644
--- a/mammoth/html/__init__.py
+++ b/mammoth/html/__init__.py
@@ -1,19 +1,25 @@
from ..lists import flat_map
-from .nodes import TextNode, Element, SelfClosingElement, ForceWrite, NodeVisitor
+from .nodes import TextNode, Tag, Element, SelfClosingElement, ForceWrite, NodeVisitor
def text(value):
return TextNode(value)
-def element(tag_names, attributes=None, children=None, collapsible=False, separator=None):
+def tag(tag_names, attributes=None, collapsible=None, separator=None):
if not isinstance(tag_names, list):
tag_names = [tag_names]
if attributes is None:
attributes = {}
+ return Tag(tag_names=tag_names, attributes=attributes, collapsible=bool(collapsible), separator=separator)
+
+
+def element(tag_names, attributes=None, children=None, collapsible=None, separator=None):
if children is None:
children = []
- return Element(tag_names, attributes, children, collapsible=collapsible, separator=separator)
+
+ element_tag = tag(tag_names=tag_names, attributes=attributes, collapsible=collapsible, separator=separator)
+ return Element(element_tag, children)
def collapsible_element(tag_names, attributes=None, children=None):
@@ -50,15 +56,7 @@ class StripEmpty(NodeVisitor):
if len(children) == 0:
return []
else:
- return [
- Element(
- element.tag_names,
- element.attributes,
- children,
- collapsible=element.collapsible,
- separator=element.separator,
- )
- ]
+ return [Element(element.tag, children)]
def visit_self_closing_element(self, element):
return [element]
@@ -80,13 +78,7 @@ class _CollapseNode(NodeVisitor):
return node
def visit_element(self, element):
- return Element(
- element.tag_names,
- element.attributes,
- collapse(element.children),
- collapsible=element.collapsible,
- separator=element.separator,
- )
+ return Element(element.tag, collapse(element.children))
def visit_self_closing_element(self, element):
return element