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
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