Ejemplo n.º 1
0
 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())
Ejemplo n.º 2
0
    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')
Ejemplo n.º 3
0
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')
Ejemplo n.º 4
0
 def yatiml_savorize(cls, node: yatiml.Node) -> None:
     node.remove_attribute('subclass')
Ejemplo n.º 5
0
 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')
Ejemplo n.º 6
0
 def _yatiml_savorize(cls, node: yatiml.Node) -> None:
     node.remove_attribute('ymmsl_version')