diff options
Diffstat (limited to 'mammoth/html/__init__.py')
| -rw-r--r-- | mammoth/html/__init__.py | 30 |
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 |
