def _yatiml_sweeten(cls, node: yatiml.Node) -> None: multiplicity = node.get_attribute('multiplicity') items = multiplicity.seq_items() if len(items) == 0: node.remove_attribute('multiplicity') elif len(items) == 1: node.set_attribute('multiplicity', items[0].get_value())
def _yatiml_sweeten(cls, node: yatiml.Node) -> None: if node.get_attribute('model').is_scalar(type(None)): node.remove_attribute('model') if node.get_attribute('settings').is_scalar(type(None)): node.remove_attribute('settings') if len(node.get_attribute('settings').yaml_node.value) == 0: node.remove_attribute('settings') impl = node.get_attribute('implementations') if (impl.is_scalar(type(None)) or impl.is_mapping() and impl.is_empty()): node.remove_attribute('implementations') node.index_attribute_to_map('implementations', 'name', 'script') res = node.get_attribute('resources') if (res.is_scalar(type(None)) or res.is_mapping() and res.is_empty()): node.remove_attribute('resources') node.index_attribute_to_map('resources', 'name', 'num_cores')
def test_remove_attribute(class_node: yatiml.Node) -> None: assert class_node.has_attribute('attr1') class_node.remove_attribute('attr1') assert not class_node.has_attribute('attr1') class_node.set_attribute('attr1', 10) class_node.set_attribute('attr2', 11) assert class_node.has_attribute('attr2') class_node.remove_attribute('attr2') assert not class_node.has_attribute('attr2') class_node.remove_attribute('attr2') assert not class_node.has_attribute('attr2')
def yatiml_savorize(cls, node: yatiml.Node) -> None: node.remove_attribute('subclass')
def _yatiml_sweeten(cls, node: yatiml.Node) -> None: node.seq_attribute_to_map('components', 'name', 'implementation') if len(node.get_attribute('conduits').seq_items()) == 0: node.remove_attribute('conduits') node.seq_attribute_to_map('conduits', 'sender', 'receiver')
def _yatiml_savorize(cls, node: yatiml.Node) -> None: node.remove_attribute('ymmsl_version')