interlis2py 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- ili2py/__init__.py +3 -0
- ili2py/_version.py +24 -0
- ili2py/cli.py +229 -0
- ili2py/interfaces/__init__.py +0 -0
- ili2py/interfaces/interlis/__init__.py +0 -0
- ili2py/interfaces/interlis/interlis_23/__init__.py +36 -0
- ili2py/interfaces/interlis/interlis_23/generator.py +146 -0
- ili2py/interfaces/interlis/interlis_24/__init__.py +37 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/README.md +21 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/__init__.py +0 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/__init__.py +815 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/actual_argument_type.py +630 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/actual_argument_type_formal_argument.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/actual_argument_type_object_classes.py +22 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/allowed_in_basket.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/allowed_in_basket_type.py +33 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/allowed_in_basket_type_class_in_basket.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/allowed_in_basket_type_of_data_unit.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/any_oidtype.py +12 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/any_oidtype_type.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/aref_of.py +12 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/aref_of_type.py +9 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/aref_restriction.py +12 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/aref_restriction_type.py +32 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/aref_restriction_type_aref.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/aref_restriction_type_type.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/argument.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/argument_type.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/argument_type_1.py +62 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/argument_type_function.py +37 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/argument_type_type_1.py +9 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/assoc_acc.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/assoc_acc_origin.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/assoc_acc_origin_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/assoc_acc_target.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/assoc_acc_target_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/assoc_acc_type.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/assoc_acc_type_assoc_acc.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/assoc_acc_type_class.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/assoc_role.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/assoc_role_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attr_or_param.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attr_or_param_type.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attr_or_param_type_1.py +88 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attr_or_param_type_attr_parent.py +37 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attr_or_param_type_derivates.py +116 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attr_or_param_type_param_parent.py +37 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attr_or_param_type_type_1.py +9 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attribute_const.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attribute_const_type.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attribute_const_type_attribute.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attribute_ref_type.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attribute_ref_type_type.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attribute_ref_type_type_of.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/axis_spec.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/axis_spec_type.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/axis_spec_type_axis.py +27 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/axis_spec_type_coord_type.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/base_class.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/base_class_type.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/base_class_type_base_class.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/base_class_type_crt.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/base_type.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/base_type_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/base_view_def.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/base_view_def_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/base_view_ref.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/base_view_ref_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/blackbox_type.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/blackbox_type_type.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/boolean_type.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/boolean_type_type.py +10 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_attr.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_attr_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_const.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_const_type.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_const_type_class.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_constraint.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_constraint_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_mod.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_param.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_param_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_ref.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_ref_type.py +23 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_ref_type_ref.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_ref_type_type.py +10 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_related_type.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_related_type_type.py +10 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_restriction.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_restriction_type.py +31 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_restriction_type_class_restriction.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_restriction_type_crtr.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_type.py +74 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_type_existence_constraint.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_type_multiplicity.py +22 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_type_oid.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_type_view.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/concrete_for_generic.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/concrete_for_generic_type.py +33 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/concrete_for_generic_type_concrete_domain.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/concrete_for_generic_type_generic_def.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/cond_sign_param_assignment.py +13 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/cond_sign_param_assignment_type.py +31 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/cond_sign_param_assignment_type_assignments.py +22 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/cond_sign_param_assignment_type_where.py +116 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/constant.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/constant_type.py +28 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/constraint.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/constraint_type.py +28 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/constraint_type_to_class.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/constraint_type_to_domain.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/context.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/context_type.py +10 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/coord_type.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/coord_type_type.py +38 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/data_unit.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/data_unit_type.py +37 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/data_unit_type_oid.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/dependency.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/dependency_type.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/dependency_type_dependent.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/dependency_type_using.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/derived_assoc.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/derived_assoc_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/doc_text.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/doc_text_translation.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/doc_text_translation_type.py +17 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/doc_text_type.py +25 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/domain_constraint.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/domain_constraint_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/domain_type.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/domain_type_type.py +28 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/domain_type_type_context.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/drawing_rule.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/drawing_rule_type.py +37 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/drawing_rule_type_class.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/drawing_rule_type_graphic.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/drawing_rule_type_rule.py +22 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_assignment_type_max_enum_value.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_assignment_type_min_enum_value.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_mapping_type_enum_value.py +22 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_node.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_node_type.py +28 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_node_type_enum_type.py +37 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_node_type_parent_node.py +37 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_tree_value_type.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_tree_value_type_type.py +20 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_tree_value_type_type_et.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_type.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_type_type.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/existence_constraint.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/existence_constraint_type.py +20 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/existence_constraint_type_attr.py +22 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/existence_def.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/existence_def_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/explicit_assoc_acc.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/explicit_assoc_acc_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/explicit_assoc_access.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/explicit_assoc_access_type.py +44 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/explicit_assoc_access_type_assoc_acc_of.py +37 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/explicit_assoc_access_type_origin_role.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/explicit_assoc_access_type_target_role.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/expression.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/expression_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/extendable_me.py +12 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/extendable_metype.py +49 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/extendable_metype_super.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/factor.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/factor_type.py +10 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/formal_argument.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/formal_argument_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/formatted_type.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/formatted_type_type.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/formatted_type_type_struct.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/function_call_type_function.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/function_def.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/function_def_type.py +28 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/function_def_type_result_type.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/generic_def.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/generic_def_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/graphic.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/graphic_base.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/graphic_base_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/graphic_rule.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/graphic_rule_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/graphic_type.py +28 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/graphic_type_base.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/graphic_type_where.py +116 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/ili1_format.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/ili1_format_type.py +96 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/ili1_transfer_element.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/ili1_transfer_element_type.py +35 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/ili1_transfer_element_type_ili1_ref_attr.py +27 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/ili1_transfer_element_type_ili1_transfer_class.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/import_mod.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/import_type.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/import_type_imported_p.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/import_type_importing_p.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/inheritance.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/inheritance_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_attr.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_attr_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_coord.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_coord_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_form.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_form_structure.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_form_structure_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_form_type.py +20 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_form_type_structure.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_type.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_type_type.py +53 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_type_type_coord_type.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_type_type_lastructure.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/lines_form.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/lines_form_type.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/lines_form_type_line_form.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/lines_form_type_line_type.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/local_ftype.py +12 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/local_ftype_type.py +9 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/local_type.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/local_type_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_attribute.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_attribute_type.py +46 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_attribute_type_meta_element.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_attributes.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_attributes_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_basket_def.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_basket_def_type.py +31 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_basket_def_type_meta_data_topic.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_basket_members.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_basket_members_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_data_unit.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_data_unit_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_element.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_element_type.py +48 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_element_type_documentation.py +22 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_element_type_element_in_package.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_object_class.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_object_class_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_object_def.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_object_def_type.py +40 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_object_def_type_class.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_object_def_type_meta_basket_def.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/metranslation.py +12 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/metranslation_type.py +41 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/metranslation_type_of.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/metranslation_type_translated_doc.py +22 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/model.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/model_data.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/model_data_basket_oid.py +12 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/model_data_basket_oidtype.py +9 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/model_data_type.py +455 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/model_translation.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/model_translation_type.py +33 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/model_type.py +101 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/model_type_ili1_format.py +22 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/multi_value.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/multi_value_type.py +28 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/multi_value_type_multiplicity.py +22 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/multiplicity.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/multiplicity_type.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/num_type.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/num_type_type.py +60 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/num_type_type_ref_sys.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/num_type_type_unit.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/num_unit.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/num_unit_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/nums_ref_sys.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/nums_ref_sys_type.py +18 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/object_oid.py +12 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/object_oidtype.py +9 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/object_type.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/object_type_type.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/package.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/package_elements.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/package_elements_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/package_type.py +10 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/path_el.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/path_el_type.py +44 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/path_el_type_ref.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/path_or_insp_factor.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/path_or_insp_factor_type.py +32 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/path_or_insp_factor_type_inspection.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/path_or_insp_factor_type_path_els.py +22 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/reference_type.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/reference_type_type.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/renamed_base_view.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/renamed_base_view_type.py +39 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/renamed_base_view_type_base_view.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/renamed_base_view_type_view.py +37 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/result_type.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/result_type_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/role.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/role_type.py +64 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/role_type_association.py +37 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/role_type_derivates.py +116 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/role_type_multiplicity.py +22 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/runtime_param_ref.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/runtime_param_ref_type.py +22 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/runtime_param_ref_type_runtime_param.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/set_constraint.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/set_constraint_type.py +28 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/set_constraint_type_constraint.py +116 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/set_constraint_type_where.py +116 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/sign_class.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/sign_class_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/sign_param_assignment.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/sign_param_assignment_type.py +32 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/sign_param_assignment_type_assignment.py +116 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/sign_param_assignment_type_param.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/simple_constraint.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/simple_constraint_type.py +42 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/simple_constraint_type_logical_expression.py +116 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/struct_of_format.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/struct_of_format_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/sub_model.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/sub_model_type.py +10 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/sub_node.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/sub_node_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/text_type.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/text_type_type.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/top_node.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/top_node_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/transfer_element.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/transfer_element_type.py +33 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/transfer_element_type_transfer_class.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/transfer_element_type_transfer_element.py +27 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/translation.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/translation_type.py +36 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/translation_type_translations.py +22 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/tree_value_type_of.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/tree_value_type_of_type.py +8 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/type_mod.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/type_related_type.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/type_related_type_type.py +22 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/type_related_type_type_base_type.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/type_restriction.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/type_restriction_type.py +31 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/type_restriction_type_trtr.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/type_restriction_type_type_restriction.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/type_type.py +28 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/type_type_lftparent.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/type_type_ltparent.py +29 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unique_constraint.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unique_constraint_type.py +40 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unique_constraint_type_unique_def.py +22 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unique_constraint_type_where.py +116 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unit.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unit_function.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unit_function_type.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unit_ref.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unit_ref_type.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unit_ref_type_unit.py +19 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unit_type.py +28 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unit_type_definition.py +116 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/view.py +11 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/view_type.py +46 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/view_type_formation_parameter.py +116 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/view_type_where.py +116 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/README.md +6 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/__init__.py +45 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/helper.py +65 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/__init__.py +0 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/abstract_element.py +85 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/constraints.py +47 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/__init__.py +0 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/extendable_me.py +102 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/type/__init__.py +0 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/type/domain_type/__init__.py +0 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/type/domain_type/class_related_type/__init__.py +0 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/type/domain_type/class_related_type/class_related_type.py +26 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/type/domain_type/class_related_type/role.py +56 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/type/domain_type/domain_type.py +171 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/type/expression/__init__.py +0 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/type/expression/expression.py +52 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/type/expression/factor/__init__.py +0 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/type/expression/factor/factor.py +46 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/type/type_class.py +77 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/line_form.py +39 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/meta_element.py +47 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/model_data.py +132 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/package/__init__.py +0 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/package/package.py +99 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/path_elements.py +51 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/references.py +57 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/serialization_elements.py +81 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/model_translation/__init__.py +0 -0
- ili2py/interfaces/interlis/interlis_24/ilismeta16/shared.py +5 -0
- ili2py/mappers/__init__.py +0 -0
- ili2py/mappers/helpers.py +1018 -0
- ili2py/mappers/internal/__init__.py +0 -0
- ili2py/mappers/internal/ilismeta16/__init__.py +0 -0
- ili2py/mappers/internal/ilismeta16/domain.py +29 -0
- ili2py/mappers/internal/ilismeta16/model_data/__init__.py +0 -0
- ili2py/mappers/internal/ilismeta16/model_data/definitions.py +401 -0
- ili2py/mappers/internal/ilismeta16/model_data/domain.py +31 -0
- ili2py/mappers/internal/ilismeta16/model_data/types.py +94 -0
- ili2py/mappers/internal/ilismeta16/model_data/units.py +49 -0
- ili2py/py.typed +0 -0
- ili2py/readers/__init__.py +0 -0
- ili2py/readers/interlis_23/__init__.py +0 -0
- ili2py/readers/interlis_23/xtf/__init__.py +0 -0
- ili2py/readers/interlis_23/xtf/xsdata.py +38 -0
- ili2py/readers/interlis_24/__init__.py +0 -0
- ili2py/readers/interlis_24/ilismeta16/__init__.py +0 -0
- ili2py/readers/interlis_24/ilismeta16/xsdata.py +40 -0
- ili2py/readers/interlis_24/xtf/__init__.py +0 -0
- ili2py/scripts/__init__.py +0 -0
- ili2py/scripts/config.py +21 -0
- ili2py/scripts/generate_docs_diagrams.py +177 -0
- ili2py/scripts/generate_mermaid_diagrams.py +118 -0
- ili2py/scripts/generate_plantuml_diagrams.py +156 -0
- ili2py/scripts/generate_test_output.py +632 -0
- ili2py/writers/__init__.py +0 -0
- ili2py/writers/diagram/__init__.py +33 -0
- ili2py/writers/diagram/interlis/__init__.py +115 -0
- ili2py/writers/diagram/interlis/templates/dot/class.jinja2 +34 -0
- ili2py/writers/diagram/interlis/templates/dot/classes.jinja2 +4 -0
- ili2py/writers/diagram/interlis/templates/dot/dot.jinja2 +48 -0
- ili2py/writers/diagram/interlis/templates/mermaid/mermaid.jinja2 +69 -0
- ili2py/writers/diagram/interlis/templates/plantuml/plantuml.jinja2 +62 -0
- ili2py/writers/diagram/interlis/templates/plantuml_role_members/plantuml_role_members.jinja2 +78 -0
- ili2py/writers/diagram/interlis/uml.py +353 -0
- ili2py/writers/helpers.py +36 -0
- ili2py/writers/py/__init__.py +0 -0
- ili2py/writers/py/constraints.py +183 -0
- ili2py/writers/py/interlis23/templates/classes.jinja2 +218 -0
- ili2py/writers/py/interlis23/templates/convertable_types.jinja2 +50 -0
- ili2py/writers/py/interlis23/templates/coord_types.jinja2 +126 -0
- ili2py/writers/py/interlis23/templates/domain_types.jinja2 +26 -0
- ili2py/writers/py/interlis23/templates/enumerations.jinja2 +27 -0
- ili2py/writers/py/interlis23/templates/library_init.jinja2 +5 -0
- ili2py/writers/py/interlis23/templates/line_types.jinja2 +162 -0
- ili2py/writers/py/interlis23/templates/module.jinja2 +89 -0
- ili2py/writers/py/interlis23/templates/package_init.jinja2 +56 -0
- ili2py/writers/py/interlis23/templates/references.jinja2 +26 -0
- ili2py/writers/py/interlis23/templates/xtf_opening.jinja2 +126 -0
- ili2py/writers/py/interlis24/templates/classes.jinja2 +225 -0
- ili2py/writers/py/interlis24/templates/convertable_types.jinja2 +50 -0
- ili2py/writers/py/interlis24/templates/coord_types.jinja2 +120 -0
- ili2py/writers/py/interlis24/templates/domain_types.jinja2 +26 -0
- ili2py/writers/py/interlis24/templates/enumerations.jinja2 +27 -0
- ili2py/writers/py/interlis24/templates/library_init.jinja2 +5 -0
- ili2py/writers/py/interlis24/templates/line_type_polyline.jinja2 +31 -0
- ili2py/writers/py/interlis24/templates/line_type_polyline_multi.jinja2 +49 -0
- ili2py/writers/py/interlis24/templates/line_type_segment.jinja2 +27 -0
- ili2py/writers/py/interlis24/templates/line_type_surface.jinja2 +31 -0
- ili2py/writers/py/interlis24/templates/line_type_surface_boundary.jinja2 +40 -0
- ili2py/writers/py/interlis24/templates/line_type_surface_multi.jinja2 +50 -0
- ili2py/writers/py/interlis24/templates/line_types.jinja2 +41 -0
- ili2py/writers/py/interlis24/templates/module.jinja2 +89 -0
- ili2py/writers/py/interlis24/templates/package_init.jinja2 +56 -0
- ili2py/writers/py/interlis24/templates/references.jinja2 +13 -0
- ili2py/writers/py/interlis24/templates/xtf_opening.jinja2 +120 -0
- ili2py/writers/py/python_structure.py +1829 -0
- ili2py/writers/py/render.py +180 -0
- interlis2py-0.1.0.dist-info/METADATA +91 -0
- interlis2py-0.1.0.dist-info/RECORD +462 -0
- interlis2py-0.1.0.dist-info/WHEEL +5 -0
- interlis2py-0.1.0.dist-info/entry_points.txt +2 -0
- interlis2py-0.1.0.dist-info/licenses/LICENSE +661 -0
- interlis2py-0.1.0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,353 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
from abc import ABC
|
|
3
|
+
from dataclasses import dataclass, field
|
|
4
|
+
from typing import Any
|
|
5
|
+
|
|
6
|
+
from ili2py.interfaces.interlis.interlis_24.ilismeta.ilismeta16_2022_10_10 import (
|
|
7
|
+
AttrOrParam as ImdAttrOrParam,
|
|
8
|
+
)
|
|
9
|
+
from ili2py.interfaces.interlis.interlis_24.ilismeta.ilismeta16_2022_10_10 import (
|
|
10
|
+
BlackboxType as ImdBlackboxType,
|
|
11
|
+
)
|
|
12
|
+
from ili2py.interfaces.interlis.interlis_24.ilismeta.ilismeta16_2022_10_10 import (
|
|
13
|
+
BooleanType as ImdBooleanType,
|
|
14
|
+
)
|
|
15
|
+
from ili2py.interfaces.interlis.interlis_24.ilismeta.ilismeta16_2022_10_10 import (
|
|
16
|
+
Class as ImdClass,
|
|
17
|
+
)
|
|
18
|
+
from ili2py.interfaces.interlis.interlis_24.ilismeta.ilismeta16_2022_10_10 import (
|
|
19
|
+
ClassRefType as ImdClassRefType,
|
|
20
|
+
)
|
|
21
|
+
from ili2py.interfaces.interlis.interlis_24.ilismeta.ilismeta16_2022_10_10 import (
|
|
22
|
+
CoordType as ImdCoordType,
|
|
23
|
+
)
|
|
24
|
+
from ili2py.interfaces.interlis.interlis_24.ilismeta.ilismeta16_2022_10_10 import (
|
|
25
|
+
EnumTreeValueType as ImdEnumTreeValueType,
|
|
26
|
+
)
|
|
27
|
+
from ili2py.interfaces.interlis.interlis_24.ilismeta.ilismeta16_2022_10_10 import (
|
|
28
|
+
EnumType as ImdEnumType,
|
|
29
|
+
)
|
|
30
|
+
from ili2py.interfaces.interlis.interlis_24.ilismeta.ilismeta16_2022_10_10 import (
|
|
31
|
+
FormattedType as ImdFormattedType,
|
|
32
|
+
)
|
|
33
|
+
from ili2py.interfaces.interlis.interlis_24.ilismeta.ilismeta16_2022_10_10 import (
|
|
34
|
+
LineType as ImdLineType,
|
|
35
|
+
)
|
|
36
|
+
from ili2py.interfaces.interlis.interlis_24.ilismeta.ilismeta16_2022_10_10 import (
|
|
37
|
+
Model as ImdModel,
|
|
38
|
+
)
|
|
39
|
+
from ili2py.interfaces.interlis.interlis_24.ilismeta.ilismeta16_2022_10_10 import (
|
|
40
|
+
MultiValue as ImdMultiValue,
|
|
41
|
+
)
|
|
42
|
+
from ili2py.interfaces.interlis.interlis_24.ilismeta.ilismeta16_2022_10_10 import (
|
|
43
|
+
NumType as ImdNumType,
|
|
44
|
+
)
|
|
45
|
+
from ili2py.interfaces.interlis.interlis_24.ilismeta.ilismeta16_2022_10_10 import (
|
|
46
|
+
Role as ImdRole,
|
|
47
|
+
)
|
|
48
|
+
from ili2py.interfaces.interlis.interlis_24.ilismeta.ilismeta16_2022_10_10 import (
|
|
49
|
+
SubModel as ImdSubmodel,
|
|
50
|
+
)
|
|
51
|
+
from ili2py.interfaces.interlis.interlis_24.ilismeta.ilismeta16_2022_10_10 import (
|
|
52
|
+
TextType as ImdTextType,
|
|
53
|
+
)
|
|
54
|
+
from ili2py.mappers.helpers import Index, mandatory, mandatory_ref
|
|
55
|
+
|
|
56
|
+
# (class tid, multiplicity, strongness, role tid) of one end of an association
|
|
57
|
+
type AssociationEnd = tuple[str, str | None, str, str]
|
|
58
|
+
# all ends of an association, followed by the name of the association
|
|
59
|
+
type Association = list[AssociationEnd | str]
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
@dataclass
|
|
63
|
+
class Base(ABC):
|
|
64
|
+
oid: str
|
|
65
|
+
name: str
|
|
66
|
+
|
|
67
|
+
@property
|
|
68
|
+
def save_oid(self) -> str:
|
|
69
|
+
return self.oid.replace(".", "_")
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
@dataclass
|
|
73
|
+
class Attribute(Base):
|
|
74
|
+
type_definition: str
|
|
75
|
+
mandatory: str
|
|
76
|
+
|
|
77
|
+
@classmethod
|
|
78
|
+
def from_imd(cls, attribute: ImdAttrOrParam, index: Index):
|
|
79
|
+
type_name, is_mandatory = Attribute.handle_type(attribute, index)
|
|
80
|
+
return cls(
|
|
81
|
+
name=mandatory(attribute.name),
|
|
82
|
+
oid=mandatory(attribute.tid),
|
|
83
|
+
type_definition=type_name,
|
|
84
|
+
mandatory="[1]" if is_mandatory else "[0..1]",
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
@staticmethod
|
|
88
|
+
def handle_type(attribute: ImdAttrOrParam, index: Index) -> tuple[str, bool]:
|
|
89
|
+
type_definition = index.index[mandatory_ref(attribute.type_value)]
|
|
90
|
+
name = Attribute.handle_type_trail(type_definition, index)
|
|
91
|
+
return name, type_definition.mandatory
|
|
92
|
+
|
|
93
|
+
@staticmethod
|
|
94
|
+
def handle_type_trail(
|
|
95
|
+
type_definition: (
|
|
96
|
+
ImdTextType
|
|
97
|
+
| ImdFormattedType
|
|
98
|
+
| ImdBlackboxType
|
|
99
|
+
| ImdNumType
|
|
100
|
+
| ImdBooleanType
|
|
101
|
+
| ImdMultiValue
|
|
102
|
+
| ImdEnumType
|
|
103
|
+
| ImdCoordType
|
|
104
|
+
| ImdLineType
|
|
105
|
+
| ImdEnumTreeValueType
|
|
106
|
+
| ImdClassRefType
|
|
107
|
+
),
|
|
108
|
+
index: Index,
|
|
109
|
+
) -> str:
|
|
110
|
+
if isinstance(type_definition, ImdTextType):
|
|
111
|
+
return "String"
|
|
112
|
+
elif isinstance(type_definition, ImdFormattedType):
|
|
113
|
+
if type_definition.super and type_definition.name == "TYPE":
|
|
114
|
+
return Attribute.handle_type_trail(
|
|
115
|
+
index.index[type_definition.super.ref], index
|
|
116
|
+
)
|
|
117
|
+
else:
|
|
118
|
+
return mandatory(type_definition.name)
|
|
119
|
+
elif isinstance(type_definition, ImdBlackboxType):
|
|
120
|
+
return "BlackBox"
|
|
121
|
+
elif isinstance(type_definition, ImdNumType):
|
|
122
|
+
return "Number"
|
|
123
|
+
elif isinstance(type_definition, ImdBooleanType):
|
|
124
|
+
return "Boolean"
|
|
125
|
+
elif isinstance(type_definition, ImdMultiValue):
|
|
126
|
+
return index.index[mandatory_ref(type_definition.base_type)].name
|
|
127
|
+
elif isinstance(type_definition, (ImdEnumType, ImdEnumTreeValueType)):
|
|
128
|
+
return "Enumeration"
|
|
129
|
+
elif isinstance(type_definition, (ImdCoordType, ImdLineType)):
|
|
130
|
+
if type_definition.super and type_definition.name == "TYPE":
|
|
131
|
+
return Attribute.handle_type_trail(
|
|
132
|
+
index.index[type_definition.super.ref], index
|
|
133
|
+
)
|
|
134
|
+
else:
|
|
135
|
+
return mandatory(type_definition.name)
|
|
136
|
+
elif isinstance(type_definition, ImdClassRefType):
|
|
137
|
+
return index.index[index.class_related_type[type_definition.tid]].name
|
|
138
|
+
else:
|
|
139
|
+
logging.debug(
|
|
140
|
+
f"Type was not handled correctly for UML preparation: {type_definition}"
|
|
141
|
+
)
|
|
142
|
+
return "UNKNOWN"
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
@dataclass
|
|
146
|
+
class Class(Base):
|
|
147
|
+
attributes: list[Attribute]
|
|
148
|
+
inherits_from: str | None
|
|
149
|
+
association_attributes: list[Attribute] = field(default_factory=list)
|
|
150
|
+
|
|
151
|
+
@classmethod
|
|
152
|
+
def from_imd(cls, class_definition: ImdClass, index: Index):
|
|
153
|
+
attributes = []
|
|
154
|
+
if index.class_class_attribute.get(class_definition.tid):
|
|
155
|
+
for attribute_tid in index.class_class_attribute[class_definition.tid]:
|
|
156
|
+
attribute = index.index[attribute_tid]
|
|
157
|
+
attributes.append(Attribute.from_imd(attribute, index))
|
|
158
|
+
association_attributes = []
|
|
159
|
+
association_oids = index.associated_classes.get(class_definition.tid, [])
|
|
160
|
+
for association_oid in association_oids:
|
|
161
|
+
for (
|
|
162
|
+
role_oid,
|
|
163
|
+
related_class_oid,
|
|
164
|
+
_strongness,
|
|
165
|
+
_min,
|
|
166
|
+
_max,
|
|
167
|
+
) in index.association_bucket[association_oid]:
|
|
168
|
+
if related_class_oid != class_definition.tid:
|
|
169
|
+
role_object: ImdRole = index.index[role_oid]
|
|
170
|
+
multiplicity = Index.role_multiplicity(role_object)
|
|
171
|
+
minimum = multiplicity.min or 0
|
|
172
|
+
maximum = "*" if multiplicity.max is None else multiplicity.max
|
|
173
|
+
association_attributes.append(
|
|
174
|
+
Attribute(
|
|
175
|
+
oid=role_oid,
|
|
176
|
+
name=mandatory(role_object.name),
|
|
177
|
+
type_definition="Ref",
|
|
178
|
+
mandatory=f"{minimum}...{maximum}"
|
|
179
|
+
if minimum != maximum
|
|
180
|
+
else f"{minimum}",
|
|
181
|
+
)
|
|
182
|
+
)
|
|
183
|
+
|
|
184
|
+
return cls(
|
|
185
|
+
name=mandatory(class_definition.name),
|
|
186
|
+
oid=mandatory(class_definition.tid),
|
|
187
|
+
inherits_from=class_definition.super.ref if class_definition.super else None,
|
|
188
|
+
attributes=attributes,
|
|
189
|
+
association_attributes=association_attributes,
|
|
190
|
+
)
|
|
191
|
+
|
|
192
|
+
|
|
193
|
+
@dataclass
|
|
194
|
+
class Group(Base, ABC):
|
|
195
|
+
"""
|
|
196
|
+
Common base of ili:Model and ili:Topic
|
|
197
|
+
"""
|
|
198
|
+
|
|
199
|
+
classes: list[Class]
|
|
200
|
+
associations: list[Association]
|
|
201
|
+
|
|
202
|
+
@staticmethod
|
|
203
|
+
def handle_class(classes: list[Class], element: Any, index: Index):
|
|
204
|
+
classes.append(Class.from_imd(element, index))
|
|
205
|
+
|
|
206
|
+
@classmethod
|
|
207
|
+
def handle_association(
|
|
208
|
+
cls,
|
|
209
|
+
associations: list[Association],
|
|
210
|
+
association: ImdClass,
|
|
211
|
+
index: Index,
|
|
212
|
+
):
|
|
213
|
+
if index.association_bucket.get(association.tid):
|
|
214
|
+
association_string: Association = []
|
|
215
|
+
for role_tid, class_tid, _strongness, _min, _max in index.association_bucket[
|
|
216
|
+
association.tid
|
|
217
|
+
]:
|
|
218
|
+
role = index.index[role_tid]
|
|
219
|
+
related_class = index.index[class_tid]
|
|
220
|
+
if role.multiplicity.multiplicity is None:
|
|
221
|
+
multiplicity_string = None
|
|
222
|
+
else:
|
|
223
|
+
multiplicity_string = TopicGroup.render_multiplicity(
|
|
224
|
+
role.multiplicity.multiplicity.min, role.multiplicity.multiplicity.max
|
|
225
|
+
)
|
|
226
|
+
strongness_string = TopicGroup.render_strongness(role.strongness)
|
|
227
|
+
association_string.append(
|
|
228
|
+
(related_class.tid, multiplicity_string, strongness_string, role_tid)
|
|
229
|
+
)
|
|
230
|
+
association_string.append(mandatory(association.name))
|
|
231
|
+
associations.append(association_string)
|
|
232
|
+
|
|
233
|
+
@staticmethod
|
|
234
|
+
def render_multiplicity(minimum, maximum) -> str:
|
|
235
|
+
if minimum == 1 and maximum == 1:
|
|
236
|
+
return "1"
|
|
237
|
+
elif minimum == 0 and maximum == 0:
|
|
238
|
+
# Cardinality / Multiplicity '0' is not implemented in mermaid
|
|
239
|
+
return "0"
|
|
240
|
+
elif minimum == 0 and maximum == 1:
|
|
241
|
+
return "0..1"
|
|
242
|
+
elif minimum == 1 and maximum is None:
|
|
243
|
+
return "1..*"
|
|
244
|
+
elif minimum == 0 and maximum is None:
|
|
245
|
+
# Cardinality / Multiplicity '0..*' is not implemented in mermaid directly we
|
|
246
|
+
# deliver empty string
|
|
247
|
+
return "0..*"
|
|
248
|
+
elif minimum is None and maximum is None:
|
|
249
|
+
return "*"
|
|
250
|
+
else:
|
|
251
|
+
return f"{minimum}..{maximum}"
|
|
252
|
+
|
|
253
|
+
@staticmethod
|
|
254
|
+
def render_strongness(strongness: str):
|
|
255
|
+
if strongness == "Assoc":
|
|
256
|
+
# TODO: decide if we want to show direction of association with arrows at the end
|
|
257
|
+
# of the connector
|
|
258
|
+
logging.debug("Association is drawn without arrows currently!")
|
|
259
|
+
return ""
|
|
260
|
+
elif strongness == "Aggr":
|
|
261
|
+
return "o"
|
|
262
|
+
elif strongness == "Comp":
|
|
263
|
+
return "*"
|
|
264
|
+
else:
|
|
265
|
+
logging.error(f"Unknown strongness: {strongness}")
|
|
266
|
+
return ""
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
@dataclass
|
|
270
|
+
class TopicGroup(Group):
|
|
271
|
+
"""
|
|
272
|
+
Represents an ili:Topic
|
|
273
|
+
"""
|
|
274
|
+
|
|
275
|
+
@classmethod
|
|
276
|
+
def from_imd(cls, sub_model: ImdSubmodel, index: Index):
|
|
277
|
+
classes: list[Class] = []
|
|
278
|
+
associations: list[Association] = []
|
|
279
|
+
|
|
280
|
+
if index.class_in_package.get(sub_model.tid):
|
|
281
|
+
for element_tid in index.class_in_package[sub_model.tid]:
|
|
282
|
+
element = index.index[element_tid]
|
|
283
|
+
cls.handle_class(classes, element, index)
|
|
284
|
+
if index.association_in_package.get(sub_model.tid):
|
|
285
|
+
for element_tid in index.association_in_package[sub_model.tid]:
|
|
286
|
+
element = index.index[element_tid]
|
|
287
|
+
cls.handle_association(associations, element, index)
|
|
288
|
+
|
|
289
|
+
return cls(
|
|
290
|
+
name=mandatory(sub_model.name),
|
|
291
|
+
oid=mandatory(sub_model.tid),
|
|
292
|
+
classes=classes,
|
|
293
|
+
associations=associations,
|
|
294
|
+
)
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
@dataclass
|
|
298
|
+
class ModelGroup(Group):
|
|
299
|
+
"""
|
|
300
|
+
Represents an ili:Model
|
|
301
|
+
"""
|
|
302
|
+
|
|
303
|
+
topic_groups: list[TopicGroup]
|
|
304
|
+
|
|
305
|
+
@classmethod
|
|
306
|
+
def from_imd(cls, model: ImdModel, index: Index):
|
|
307
|
+
topics: list[TopicGroup] = []
|
|
308
|
+
classes: list[Class] = []
|
|
309
|
+
associations: list[Association] = []
|
|
310
|
+
if index.submodel_in_package.get(model.tid):
|
|
311
|
+
for element_tid in index.submodel_in_package[model.tid]:
|
|
312
|
+
element = index.index[element_tid]
|
|
313
|
+
cls.handle_topic(topics, element, index)
|
|
314
|
+
if index.class_in_package.get(model.tid):
|
|
315
|
+
for element_tid in index.class_in_package[model.tid]:
|
|
316
|
+
element = index.index[element_tid]
|
|
317
|
+
cls.handle_class(classes, element, index)
|
|
318
|
+
if index.association_in_package.get(model.tid):
|
|
319
|
+
for element_tid in index.association_in_package[model.tid]:
|
|
320
|
+
element = index.index[element_tid]
|
|
321
|
+
cls.handle_association(associations, element, index)
|
|
322
|
+
return cls(
|
|
323
|
+
name=mandatory(model.name),
|
|
324
|
+
oid=mandatory(model.tid),
|
|
325
|
+
topic_groups=topics,
|
|
326
|
+
classes=classes,
|
|
327
|
+
associations=associations,
|
|
328
|
+
)
|
|
329
|
+
|
|
330
|
+
@staticmethod
|
|
331
|
+
def handle_topic(topics: list[TopicGroup], element: Any, index: Index):
|
|
332
|
+
if isinstance(element, ImdSubmodel):
|
|
333
|
+
topics.append(TopicGroup.from_imd(element, index))
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
@dataclass
|
|
337
|
+
class Diagram(Base):
|
|
338
|
+
"""
|
|
339
|
+
Represents the whole diagram with all nested items
|
|
340
|
+
"""
|
|
341
|
+
|
|
342
|
+
model_groups: list[ModelGroup]
|
|
343
|
+
|
|
344
|
+
@classmethod
|
|
345
|
+
def from_imd(cls, index: Index):
|
|
346
|
+
models = []
|
|
347
|
+
for model in index.types_bucket["Model"]:
|
|
348
|
+
models.append(ModelGroup.from_imd(model, index))
|
|
349
|
+
return cls(
|
|
350
|
+
name=", ".join([model.name for model in models]),
|
|
351
|
+
oid="diagram",
|
|
352
|
+
model_groups=models,
|
|
353
|
+
)
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
import os
|
|
3
|
+
from pathlib import Path
|
|
4
|
+
|
|
5
|
+
from ili2py.mappers.helpers import Index
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def handle_model_versions(index: Index) -> str:
|
|
9
|
+
ili_version: str | None = None
|
|
10
|
+
for model in index.types_bucket["Model"]:
|
|
11
|
+
if model.name == "INTERLIS":
|
|
12
|
+
logging.debug(
|
|
13
|
+
"INTERLIS package is ignored for version check due "
|
|
14
|
+
"to https://github.com/claeis/ili2c/issues/146"
|
|
15
|
+
)
|
|
16
|
+
else:
|
|
17
|
+
if not ili_version:
|
|
18
|
+
ili_version = model.ili_version
|
|
19
|
+
if model.ili_version != ili_version:
|
|
20
|
+
logging.error(f"General version {ili_version} does not match package {model}")
|
|
21
|
+
raise RuntimeError(
|
|
22
|
+
"Different ili versions in one library are not supported "
|
|
23
|
+
"(enable debug and check logs for details). Please have also a look at "
|
|
24
|
+
"https://interlis.discourse.group/t/gibt-es-gruende-weshalb-man-ili2-3-und-ili2-4-nicht-mischen-sollte/78"
|
|
25
|
+
)
|
|
26
|
+
if ili_version is None:
|
|
27
|
+
raise LookupError(
|
|
28
|
+
"No model besides INTERLIS found to derive the INTERLIS version from"
|
|
29
|
+
)
|
|
30
|
+
return ili_version
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def create_file(output_path: str, model_name: str, file_name: str):
|
|
34
|
+
output_file = Path(os.path.join(output_path, model_name, file_name))
|
|
35
|
+
output_file.parent.mkdir(exist_ok=True, parents=True)
|
|
36
|
+
return output_file
|
|
File without changes
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
from abc import ABC
|
|
2
|
+
from dataclasses import dataclass, field
|
|
3
|
+
from decimal import Decimal
|
|
4
|
+
from typing import Union
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
@dataclass
|
|
8
|
+
class Expression(ABC):
|
|
9
|
+
pass
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@dataclass
|
|
13
|
+
class Factor(Expression, ABC):
|
|
14
|
+
pass
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
@dataclass
|
|
18
|
+
class UnaryExpr(Expression):
|
|
19
|
+
operation: str | None = field(default=None)
|
|
20
|
+
sub_expression: Union["ExpressionType", None] = field(default=None)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@dataclass
|
|
24
|
+
class CompoundExpr(Expression):
|
|
25
|
+
operation: str | None = field(default=None)
|
|
26
|
+
sub_expressions: list["ExpressionType"] | None = field(default_factory=list)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
@dataclass
|
|
30
|
+
class PathEl:
|
|
31
|
+
kind: str | None = field(default=None)
|
|
32
|
+
ref: str | None = field(default=None)
|
|
33
|
+
num_index: int | None = field(default=None)
|
|
34
|
+
spec_index: str | None = field(default=None)
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
@dataclass
|
|
38
|
+
class PathOrInspFactor(Factor):
|
|
39
|
+
path_els: list[PathEl] = field(default_factory=list)
|
|
40
|
+
inspection: str | None = field(default=None)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
@dataclass
|
|
44
|
+
class EnumAssignment:
|
|
45
|
+
# reference to Ilismeta16.EnumNode
|
|
46
|
+
min_enum_value: str = field()
|
|
47
|
+
max_enum_value: str | None = field(
|
|
48
|
+
default=None,
|
|
49
|
+
)
|
|
50
|
+
value_to_assign: Union["ExpressionType", None] = field(
|
|
51
|
+
default=None,
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
@dataclass
|
|
56
|
+
class EnumMapping(Factor):
|
|
57
|
+
enum_value: PathOrInspFactor | None = field(
|
|
58
|
+
default=None,
|
|
59
|
+
)
|
|
60
|
+
cases: list[EnumAssignment] = field(
|
|
61
|
+
default_factory=list,
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
@dataclass
|
|
66
|
+
class ActualArgument:
|
|
67
|
+
kind: str = field()
|
|
68
|
+
# reference string to Argument
|
|
69
|
+
formal_argument: str | None = field(
|
|
70
|
+
default=None,
|
|
71
|
+
)
|
|
72
|
+
# references to classes bag {0..1}
|
|
73
|
+
expression: Union["ExpressionType", None] = field(
|
|
74
|
+
default=None,
|
|
75
|
+
)
|
|
76
|
+
# references to classes bag {0..*}
|
|
77
|
+
object_classes: list[str] = field(
|
|
78
|
+
default_factory=list,
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
@dataclass
|
|
83
|
+
class FunctionCall(Factor):
|
|
84
|
+
# ref to IlisMeta16.FunctionDef
|
|
85
|
+
function: str | None = field(
|
|
86
|
+
default=None,
|
|
87
|
+
)
|
|
88
|
+
arguments: list[ActualArgument] = field(
|
|
89
|
+
default_factory=list,
|
|
90
|
+
)
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
@dataclass
|
|
94
|
+
class RuntimeParamRef(Factor):
|
|
95
|
+
# reference to Ilismeta16.AttrOrParam
|
|
96
|
+
runtime_param: str = field()
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
@dataclass
|
|
100
|
+
class Constant(Factor):
|
|
101
|
+
value: str = field()
|
|
102
|
+
type: str = field()
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
@dataclass
|
|
106
|
+
class ClassConst(Factor):
|
|
107
|
+
# reference to Ilismeta16.Class
|
|
108
|
+
class_value: str | None = field(default=None)
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
@dataclass
|
|
112
|
+
class AttributeConst(Factor):
|
|
113
|
+
# reference to Ilismeta16.AttrOrParam
|
|
114
|
+
attribute: str | None = field(default=None)
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
@dataclass
|
|
118
|
+
class UnitRef(Factor):
|
|
119
|
+
unit: str | None = field(default=None)
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
@dataclass
|
|
123
|
+
class UnitFunction(Factor):
|
|
124
|
+
explanation: str = field()
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
@dataclass
|
|
128
|
+
class ExpressionType:
|
|
129
|
+
class Meta:
|
|
130
|
+
global_type = False
|
|
131
|
+
|
|
132
|
+
choice: (
|
|
133
|
+
UnitFunction
|
|
134
|
+
| UnitRef
|
|
135
|
+
| AttributeConst
|
|
136
|
+
| ClassConst
|
|
137
|
+
| Constant
|
|
138
|
+
| RuntimeParamRef
|
|
139
|
+
| FunctionCall
|
|
140
|
+
| EnumMapping
|
|
141
|
+
| PathOrInspFactor
|
|
142
|
+
| CompoundExpr
|
|
143
|
+
| UnaryExpr
|
|
144
|
+
| None
|
|
145
|
+
) = field(default=None)
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
@dataclass
|
|
149
|
+
class Constraint:
|
|
150
|
+
id: str = field()
|
|
151
|
+
name: str = field()
|
|
152
|
+
documentation: list[str] = field()
|
|
153
|
+
to_class: str | None = field(default=None)
|
|
154
|
+
to_domain: str | None = field(default=None)
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
@dataclass(kw_only=True)
|
|
158
|
+
class SimpleConstraint(Constraint):
|
|
159
|
+
kind: str | None = field(default=None)
|
|
160
|
+
percentage: Decimal | None = field(
|
|
161
|
+
default=None,
|
|
162
|
+
)
|
|
163
|
+
logical_expression: ExpressionType | None = field(default=None)
|
|
164
|
+
|
|
165
|
+
|
|
166
|
+
@dataclass(kw_only=True)
|
|
167
|
+
class ExistenceConstraint(Constraint):
|
|
168
|
+
attr: PathOrInspFactor = field()
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
@dataclass(kw_only=True)
|
|
172
|
+
class UniqueConstraint(Constraint):
|
|
173
|
+
kind: str = field()
|
|
174
|
+
unique_def: list[PathOrInspFactor] = field()
|
|
175
|
+
# bag of...
|
|
176
|
+
where: ExpressionType | None = field(default=None)
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
@dataclass(kw_only=True)
|
|
180
|
+
class SetConstraint(Constraint):
|
|
181
|
+
# bag of...
|
|
182
|
+
where: ExpressionType | None = field(default=None)
|
|
183
|
+
constraint: ExpressionType | None = field(default=None)
|