Example #1
0
    def duplicate_structure(current_root, default_tag):
        duplicated_node = MathSymbol(default_tag)

        if current_root.next is not None:
            child = Query.duplicate_structure(current_root.next, default_tag)
            duplicated_node.next = child

        if current_root.above is not None:
            child = Query.duplicate_structure(current_root.above, default_tag)
            duplicated_node.above = child

        if current_root.below is not None:
            child = Query.duplicate_structure(current_root.below, default_tag)
            duplicated_node.below = child

        if current_root.pre_above is not None:
            child = Query.duplicate_structure(current_root.pre_above, default_tag)
            duplicated_node.pre_above = child

        if current_root.pre_below is not None:
            child = Query.duplicate_structure(current_root.pre_below, default_tag)
            duplicated_node.pre_below = child

        if current_root.within is not None:
            child = Query.duplicate_structure(current_root.within, default_tag)
            duplicated_node.within = child

        if current_root.element is not None:
            child = Query.duplicate_structure(current_root.element, default_tag)
            duplicated_node.element = child

        return duplicated_node
Example #2
0
    def duplicate_structure(current_root, default_tag):
        duplicated_node = MathSymbol(default_tag)

        if current_root.next is not None:
            child = Query.duplicate_structure(current_root.next, default_tag)
            duplicated_node.next = child

        if current_root.above is not None:
            child = Query.duplicate_structure(current_root.above, default_tag)
            duplicated_node.above = child

        if current_root.below is not None:
            child = Query.duplicate_structure(current_root.below, default_tag)
            duplicated_node.below = child

        if current_root.over is not None:
            child = Query.duplicate_structure(current_root.over, default_tag)
            duplicated_node.over = child

        if current_root.under is not None:
            child = Query.duplicate_structure(current_root.under, default_tag)
            duplicated_node.under = child

        if current_root.pre_above is not None:
            child = Query.duplicate_structure(current_root.pre_above,
                                              default_tag)
            duplicated_node.pre_above = child

        if current_root.pre_below is not None:
            child = Query.duplicate_structure(current_root.pre_below,
                                              default_tag)
            duplicated_node.pre_below = child

        if current_root.within is not None:
            child = Query.duplicate_structure(current_root.within, default_tag)
            duplicated_node.within = child

        if current_root.element is not None:
            child = Query.duplicate_structure(current_root.element,
                                              default_tag)
            duplicated_node.element = child

        return duplicated_node