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
|
File without changes
|
|
File without changes
|
ili2py/scripts/config.py
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
from dataclasses import dataclass, field
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
@dataclass
|
|
5
|
+
class ModelSet[T]:
|
|
6
|
+
"""An IMD with its XTF files and the model names which are drawn in the diagrams."""
|
|
7
|
+
|
|
8
|
+
imd: str
|
|
9
|
+
model_names: T
|
|
10
|
+
xtf: list[str] = field(default_factory=list)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@dataclass
|
|
14
|
+
class DiagramConfig:
|
|
15
|
+
"""The arguments passed to `uml_diagram` for one diagram."""
|
|
16
|
+
|
|
17
|
+
flavour: str
|
|
18
|
+
direction: str
|
|
19
|
+
postfix: str
|
|
20
|
+
linetype: str | None = None
|
|
21
|
+
multiplier: int = 2
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
"""
|
|
2
|
+
This script assumes plantuml and mmdc (mermaid cli) is installed and available on the system!
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
import io
|
|
6
|
+
import logging
|
|
7
|
+
import os.path
|
|
8
|
+
import shutil
|
|
9
|
+
import subprocess
|
|
10
|
+
from pathlib import Path
|
|
11
|
+
|
|
12
|
+
import cairosvg
|
|
13
|
+
from PIL import Image
|
|
14
|
+
|
|
15
|
+
from ili2py.mappers.helpers import Index
|
|
16
|
+
from ili2py.readers.interlis_24.ilismeta16.xsdata import Imd16Reader
|
|
17
|
+
from ili2py.scripts.config import DiagramConfig, ModelSet
|
|
18
|
+
from ili2py.writers.diagram.interlis import uml_diagram
|
|
19
|
+
from ili2py.writers.diagram.interlis.uml import Diagram
|
|
20
|
+
from ili2py.writers.py.python_structure import Library
|
|
21
|
+
from ili2py.writers.py.render import create_python_classes
|
|
22
|
+
|
|
23
|
+
logging.getLogger().setLevel(logging.DEBUG)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def resize_image(input_path, output_path, target_size=(1920, 1080)):
|
|
27
|
+
# Bild laden
|
|
28
|
+
png_data = cairosvg.svg2png(url=input_path, background_color="white")
|
|
29
|
+
img = Image.open(io.BytesIO(png_data))
|
|
30
|
+
|
|
31
|
+
# Thumbnail erstellen (verhältnismäßig)
|
|
32
|
+
img.thumbnail(target_size, Image.Resampling.LANCZOS)
|
|
33
|
+
|
|
34
|
+
# Neues Bild mit schwarzem Hintergrund (oder beliebiger Farbe)
|
|
35
|
+
new_img = Image.new("RGB", target_size, (255, 255, 255))
|
|
36
|
+
|
|
37
|
+
# Berechne Position zum Zentrieren
|
|
38
|
+
left = (target_size[0] - img.width) // 2
|
|
39
|
+
top = (target_size[1] - img.height) // 2
|
|
40
|
+
|
|
41
|
+
# Thumbnail einfügen
|
|
42
|
+
new_img.paste(img, (left, top))
|
|
43
|
+
|
|
44
|
+
# Speichern
|
|
45
|
+
new_img.save(output_path)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
reader = Imd16Reader()
|
|
49
|
+
|
|
50
|
+
# output_path = tempfile.mkdtemp(prefix="ili2py")
|
|
51
|
+
output_path = "build/ili2py_doc_diagrams"
|
|
52
|
+
dirpath = Path(output_path)
|
|
53
|
+
if dirpath.exists() and dirpath.is_dir():
|
|
54
|
+
shutil.rmtree(dirpath)
|
|
55
|
+
print(os.getcwd())
|
|
56
|
+
data: list[ModelSet[list[list[str]]]] = [
|
|
57
|
+
ModelSet(
|
|
58
|
+
imd="tests/data/models/LWB_Bewirtschaftungseinheiten_V3_0/LWB_Bewirtschaftungseinheiten_V3_0.imd", # noqa: E501
|
|
59
|
+
model_names=[
|
|
60
|
+
["LWB_Bewirtschaftungseinheiten_V3_0"],
|
|
61
|
+
[
|
|
62
|
+
"LWB_Bewirtschaftungseinheiten_V3_0",
|
|
63
|
+
"LWB_Landwirtschaftliche_Zonengrenzen_Kataloge_V2_0",
|
|
64
|
+
],
|
|
65
|
+
[
|
|
66
|
+
"LWB_Bewirtschaftungseinheiten_V3_0",
|
|
67
|
+
"LWB_Landwirtschaftliche_Zonengrenzen_Kataloge_V2_0",
|
|
68
|
+
"LWB_Landwirtschaftliche_Zonengrenzen_Kataloge_V2_0",
|
|
69
|
+
],
|
|
70
|
+
],
|
|
71
|
+
xtf=[],
|
|
72
|
+
),
|
|
73
|
+
ModelSet(
|
|
74
|
+
imd="tests/data/models/OeREBKRMtrsfr_V2_0/OeREBKRMtrsfr_V2_0.imd",
|
|
75
|
+
model_names=[["OeREBKRMtrsfr_V2_0"], ["OeREBKRMtrsfr_V2_0", "OeREBKRM_V2_0"]],
|
|
76
|
+
xtf=[
|
|
77
|
+
"tests/data/models/OeREBKRMtrsfr_V2_0/ch.bazl.kataster-belasteter-standorte-zivilflugplaetze_v2_0.oereb.xtf"
|
|
78
|
+
],
|
|
79
|
+
),
|
|
80
|
+
ModelSet(
|
|
81
|
+
imd="tests/data/models/SIA405_Wasser_2015_2_d-20181005/SIA405_Wasser_2015_2_d-20181005.imd", # noqa: E501
|
|
82
|
+
model_names=[
|
|
83
|
+
["SIA405_WASSER_2015_LV95"],
|
|
84
|
+
["SIA405_WASSER_2015_LV95", "SIA405_Base_LV95"],
|
|
85
|
+
["SIA405_WASSER_2015_LV95", "SIA405_Base_LV95", "Base_LV95"],
|
|
86
|
+
],
|
|
87
|
+
xtf=[],
|
|
88
|
+
),
|
|
89
|
+
]
|
|
90
|
+
|
|
91
|
+
diagram_config: list[DiagramConfig] = [
|
|
92
|
+
DiagramConfig(
|
|
93
|
+
flavour="plantuml",
|
|
94
|
+
direction="top to bottom",
|
|
95
|
+
linetype="spline",
|
|
96
|
+
postfix="puml",
|
|
97
|
+
multiplier=2,
|
|
98
|
+
),
|
|
99
|
+
DiagramConfig(
|
|
100
|
+
flavour="plantuml",
|
|
101
|
+
direction="top to bottom",
|
|
102
|
+
linetype="spline",
|
|
103
|
+
postfix="puml",
|
|
104
|
+
multiplier=5,
|
|
105
|
+
),
|
|
106
|
+
DiagramConfig(
|
|
107
|
+
flavour="plantuml",
|
|
108
|
+
direction="top to bottom",
|
|
109
|
+
linetype="spline",
|
|
110
|
+
postfix="puml",
|
|
111
|
+
multiplier=8,
|
|
112
|
+
),
|
|
113
|
+
DiagramConfig(
|
|
114
|
+
flavour="plantuml",
|
|
115
|
+
direction="top to bottom",
|
|
116
|
+
linetype="ortho",
|
|
117
|
+
postfix="puml",
|
|
118
|
+
multiplier=2,
|
|
119
|
+
),
|
|
120
|
+
DiagramConfig(
|
|
121
|
+
flavour="plantuml",
|
|
122
|
+
direction="top to bottom",
|
|
123
|
+
linetype="ortho",
|
|
124
|
+
postfix="puml",
|
|
125
|
+
multiplier=5,
|
|
126
|
+
),
|
|
127
|
+
DiagramConfig(
|
|
128
|
+
flavour="plantuml",
|
|
129
|
+
direction="top to bottom",
|
|
130
|
+
linetype="ortho",
|
|
131
|
+
postfix="puml",
|
|
132
|
+
multiplier=8,
|
|
133
|
+
),
|
|
134
|
+
]
|
|
135
|
+
|
|
136
|
+
for test_set in data:
|
|
137
|
+
metamodel = reader.read(test_set.imd)
|
|
138
|
+
index = Index(metamodel.datasection)
|
|
139
|
+
library_name = f"{index.types_bucket['Model'][-1].name}"
|
|
140
|
+
library = Library.from_imd(metamodel.datasection.ModelData, index, library_name)
|
|
141
|
+
create_python_classes(library, index, output_path)
|
|
142
|
+
diagram = Diagram.from_imd(index)
|
|
143
|
+
for configuration in diagram_config:
|
|
144
|
+
for model_names in test_set.model_names:
|
|
145
|
+
written_path = uml_diagram(
|
|
146
|
+
diagram,
|
|
147
|
+
index,
|
|
148
|
+
model_names,
|
|
149
|
+
configuration.flavour,
|
|
150
|
+
".".join(
|
|
151
|
+
[
|
|
152
|
+
library_name,
|
|
153
|
+
"_".join(model_names),
|
|
154
|
+
configuration.flavour,
|
|
155
|
+
configuration.direction,
|
|
156
|
+
configuration.linetype if configuration.linetype else "_",
|
|
157
|
+
str(configuration.multiplier),
|
|
158
|
+
configuration.postfix,
|
|
159
|
+
]
|
|
160
|
+
),
|
|
161
|
+
output_path,
|
|
162
|
+
linetype=configuration.linetype,
|
|
163
|
+
direction=configuration.direction,
|
|
164
|
+
multiplier=configuration.multiplier,
|
|
165
|
+
)
|
|
166
|
+
subprocess.call(["plantuml", "-tsvg", written_path])
|
|
167
|
+
resize_image(
|
|
168
|
+
written_path.replace(".puml", ".svg"),
|
|
169
|
+
written_path.replace(".puml", ".resized.png"),
|
|
170
|
+
(3840, 2160),
|
|
171
|
+
)
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
# run in bash afterwards:
|
|
175
|
+
# find build/ili2py_output_test/mermaid/ -type f -name "*.md" \
|
|
176
|
+
# | parallel -j 14 'mmdc -i {} -o {.}.png'
|
|
177
|
+
# plantuml -tpng build/ili2py_output_test/plantuml/*.puml
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"""
|
|
2
|
+
This script assumes plantuml and mmdc (mermaid cli) is installed and available on the system!
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
import logging
|
|
6
|
+
import os.path
|
|
7
|
+
import shutil
|
|
8
|
+
import subprocess
|
|
9
|
+
from pathlib import Path
|
|
10
|
+
|
|
11
|
+
from PIL import Image
|
|
12
|
+
|
|
13
|
+
from ili2py.mappers.helpers import Index
|
|
14
|
+
from ili2py.readers.interlis_24.ilismeta16.xsdata import Imd16Reader
|
|
15
|
+
from ili2py.scripts.config import DiagramConfig, ModelSet
|
|
16
|
+
from ili2py.writers.diagram.interlis import uml_diagram
|
|
17
|
+
from ili2py.writers.diagram.interlis.uml import Diagram
|
|
18
|
+
from ili2py.writers.py.python_structure import Library
|
|
19
|
+
from ili2py.writers.py.render import create_python_classes
|
|
20
|
+
|
|
21
|
+
logging.getLogger().setLevel(logging.DEBUG)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def resize_image(input_path, output_path, target_size=(1920, 1080)):
|
|
25
|
+
# Bild laden
|
|
26
|
+
# png_data = cairosvg.svg2png(url=input_path, background_color="white")
|
|
27
|
+
img = Image.open(input_path)
|
|
28
|
+
|
|
29
|
+
# Thumbnail erstellen (verhältnismäßig)
|
|
30
|
+
img.thumbnail(target_size, Image.Resampling.LANCZOS)
|
|
31
|
+
|
|
32
|
+
# Neues Bild mit schwarzem Hintergrund (oder beliebiger Farbe)
|
|
33
|
+
new_img = Image.new("RGB", target_size, (255, 255, 255))
|
|
34
|
+
|
|
35
|
+
# Berechne Position zum Zentrieren
|
|
36
|
+
left = (target_size[0] - img.width) // 2
|
|
37
|
+
top = (target_size[1] - img.height) // 2
|
|
38
|
+
|
|
39
|
+
# Thumbnail einfügen
|
|
40
|
+
new_img.paste(img, (left, top))
|
|
41
|
+
|
|
42
|
+
# Speichern
|
|
43
|
+
new_img.save(output_path)
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
reader = Imd16Reader()
|
|
47
|
+
|
|
48
|
+
# output_path = tempfile.mkdtemp(prefix="ili2py")
|
|
49
|
+
output_path = "build/mermaid_showcase_diagrams"
|
|
50
|
+
dirpath = Path(output_path)
|
|
51
|
+
if dirpath.exists() and dirpath.is_dir():
|
|
52
|
+
shutil.rmtree(dirpath)
|
|
53
|
+
print(os.getcwd())
|
|
54
|
+
data: list[ModelSet[list[list[str]]]] = [
|
|
55
|
+
ModelSet(
|
|
56
|
+
imd="tests/data/models/OeREBKRMtrsfr_V2_0/OeREBKRMtrsfr_V2_0.imd",
|
|
57
|
+
model_names=[
|
|
58
|
+
["OeREBKRMtrsfr_V2_0"],
|
|
59
|
+
["OeREBKRMtrsfr_V2_0", "OeREBKRM_V2_0"],
|
|
60
|
+
["OeREBKRMtrsfr_V2_0", "OeREBKRM_V2_0", "INTERLIS"],
|
|
61
|
+
],
|
|
62
|
+
xtf=[
|
|
63
|
+
"tests/data/models/OeREBKRMtrsfr_V2_0/ch.bazl.kataster-belasteter-standorte-zivilflugplaetze_v2_0.oereb.xtf"
|
|
64
|
+
],
|
|
65
|
+
),
|
|
66
|
+
]
|
|
67
|
+
|
|
68
|
+
diagram_config: list[DiagramConfig] = [
|
|
69
|
+
DiagramConfig(flavour="mermaid", direction="LR", linetype=None, postfix="md"),
|
|
70
|
+
DiagramConfig(flavour="mermaid", direction="RL", linetype=None, postfix="md"),
|
|
71
|
+
DiagramConfig(flavour="mermaid", direction="TB", linetype=None, postfix="md"),
|
|
72
|
+
DiagramConfig(flavour="mermaid", direction="BT", linetype=None, postfix="md"),
|
|
73
|
+
]
|
|
74
|
+
|
|
75
|
+
for test_set in data:
|
|
76
|
+
metamodel = reader.read(test_set.imd)
|
|
77
|
+
index = Index(metamodel.datasection)
|
|
78
|
+
library_name = f"{index.types_bucket['Model'][-1].name}"
|
|
79
|
+
library = Library.from_imd(metamodel.datasection.ModelData, index, library_name)
|
|
80
|
+
create_python_classes(library, index, output_path)
|
|
81
|
+
diagram = Diagram.from_imd(index)
|
|
82
|
+
for configuration in diagram_config:
|
|
83
|
+
for model_names in test_set.model_names:
|
|
84
|
+
written_path = uml_diagram(
|
|
85
|
+
diagram,
|
|
86
|
+
index,
|
|
87
|
+
model_names,
|
|
88
|
+
configuration.flavour,
|
|
89
|
+
".".join(
|
|
90
|
+
[
|
|
91
|
+
library_name,
|
|
92
|
+
"_".join(model_names),
|
|
93
|
+
configuration.flavour,
|
|
94
|
+
configuration.direction,
|
|
95
|
+
configuration.linetype if configuration.linetype else "_",
|
|
96
|
+
str(configuration.multiplier),
|
|
97
|
+
configuration.postfix,
|
|
98
|
+
]
|
|
99
|
+
),
|
|
100
|
+
output_path,
|
|
101
|
+
linetype=configuration.linetype,
|
|
102
|
+
direction=configuration.direction,
|
|
103
|
+
multiplier=configuration.multiplier,
|
|
104
|
+
)
|
|
105
|
+
subprocess.call(
|
|
106
|
+
["mmdc", "-i", written_path, "-o", written_path.replace(".md", ".png")]
|
|
107
|
+
)
|
|
108
|
+
resize_image(
|
|
109
|
+
written_path.replace(".md", "-1.png"),
|
|
110
|
+
written_path.replace(".md", ".resized.png"),
|
|
111
|
+
(3840, 2160),
|
|
112
|
+
)
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
# run in bash afterwards:
|
|
116
|
+
# find build/ili2py_output_test/mermaid/ -type f -name "*.md" \
|
|
117
|
+
# | parallel -j 14 'mmdc -i {} -o {.}.png'
|
|
118
|
+
# plantuml -tpng build/ili2py_output_test/plantuml/*.puml
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"""
|
|
2
|
+
This script assumes plantuml and mmdc (mermaid cli) is installed and available on the system!
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
import io
|
|
6
|
+
import logging
|
|
7
|
+
import os.path
|
|
8
|
+
import shutil
|
|
9
|
+
import subprocess
|
|
10
|
+
from pathlib import Path
|
|
11
|
+
|
|
12
|
+
import cairosvg
|
|
13
|
+
from PIL import Image
|
|
14
|
+
|
|
15
|
+
from ili2py.mappers.helpers import Index
|
|
16
|
+
from ili2py.readers.interlis_24.ilismeta16.xsdata import Imd16Reader
|
|
17
|
+
from ili2py.scripts.config import DiagramConfig, ModelSet
|
|
18
|
+
from ili2py.writers.diagram.interlis import uml_diagram
|
|
19
|
+
from ili2py.writers.diagram.interlis.uml import Diagram
|
|
20
|
+
from ili2py.writers.py.python_structure import Library
|
|
21
|
+
from ili2py.writers.py.render import create_python_classes
|
|
22
|
+
|
|
23
|
+
logging.getLogger().setLevel(logging.DEBUG)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def resize_image(input_path, output_path, target_size=(1920, 1080)):
|
|
27
|
+
# Bild laden
|
|
28
|
+
png_data = cairosvg.svg2png(url=input_path, background_color="white")
|
|
29
|
+
img = Image.open(io.BytesIO(png_data))
|
|
30
|
+
|
|
31
|
+
# Thumbnail erstellen (verhältnismäßig)
|
|
32
|
+
img.thumbnail(target_size, Image.Resampling.LANCZOS)
|
|
33
|
+
|
|
34
|
+
# Neues Bild mit schwarzem Hintergrund (oder beliebiger Farbe)
|
|
35
|
+
new_img = Image.new("RGB", target_size, (255, 255, 255))
|
|
36
|
+
|
|
37
|
+
# Berechne Position zum Zentrieren
|
|
38
|
+
left = (target_size[0] - img.width) // 2
|
|
39
|
+
top = (target_size[1] - img.height) // 2
|
|
40
|
+
|
|
41
|
+
# Thumbnail einfügen
|
|
42
|
+
new_img.paste(img, (left, top))
|
|
43
|
+
|
|
44
|
+
# Speichern
|
|
45
|
+
new_img.save(output_path)
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
reader = Imd16Reader()
|
|
49
|
+
|
|
50
|
+
# output_path = tempfile.mkdtemp(prefix="ili2py")
|
|
51
|
+
output_path = "build/plantuml_showcase_diagrams"
|
|
52
|
+
dirpath = Path(output_path)
|
|
53
|
+
if dirpath.exists() and dirpath.is_dir():
|
|
54
|
+
shutil.rmtree(dirpath)
|
|
55
|
+
print(os.getcwd())
|
|
56
|
+
data: list[ModelSet[list[list[str]]]] = [
|
|
57
|
+
ModelSet(
|
|
58
|
+
imd="tests/data/models/OeREBKRMtrsfr_V2_0/OeREBKRMtrsfr_V2_0.imd",
|
|
59
|
+
model_names=[
|
|
60
|
+
["OeREBKRMtrsfr_V2_0"],
|
|
61
|
+
["OeREBKRMtrsfr_V2_0", "OeREBKRM_V2_0"],
|
|
62
|
+
["OeREBKRMtrsfr_V2_0", "OeREBKRM_V2_0", "INTERLIS"],
|
|
63
|
+
],
|
|
64
|
+
xtf=[
|
|
65
|
+
"tests/data/models/OeREBKRMtrsfr_V2_0/ch.bazl.kataster-belasteter-standorte-zivilflugplaetze_v2_0.oereb.xtf"
|
|
66
|
+
],
|
|
67
|
+
),
|
|
68
|
+
]
|
|
69
|
+
|
|
70
|
+
diagram_config: list[DiagramConfig] = [
|
|
71
|
+
DiagramConfig(
|
|
72
|
+
flavour="plantuml",
|
|
73
|
+
direction="top to bottom",
|
|
74
|
+
linetype="spline",
|
|
75
|
+
postfix="puml",
|
|
76
|
+
multiplier=2,
|
|
77
|
+
),
|
|
78
|
+
DiagramConfig(
|
|
79
|
+
flavour="plantuml",
|
|
80
|
+
direction="top to bottom",
|
|
81
|
+
linetype="ortho",
|
|
82
|
+
postfix="puml",
|
|
83
|
+
multiplier=2,
|
|
84
|
+
),
|
|
85
|
+
DiagramConfig(
|
|
86
|
+
flavour="plantuml",
|
|
87
|
+
direction="top to bottom",
|
|
88
|
+
linetype="spline",
|
|
89
|
+
postfix="puml",
|
|
90
|
+
multiplier=5,
|
|
91
|
+
),
|
|
92
|
+
DiagramConfig(
|
|
93
|
+
flavour="plantuml",
|
|
94
|
+
direction="top to bottom",
|
|
95
|
+
linetype="ortho",
|
|
96
|
+
postfix="puml",
|
|
97
|
+
multiplier=5,
|
|
98
|
+
),
|
|
99
|
+
DiagramConfig(
|
|
100
|
+
flavour="plantuml",
|
|
101
|
+
direction="top to bottom",
|
|
102
|
+
linetype="spline",
|
|
103
|
+
postfix="puml",
|
|
104
|
+
multiplier=8,
|
|
105
|
+
),
|
|
106
|
+
DiagramConfig(
|
|
107
|
+
flavour="plantuml",
|
|
108
|
+
direction="top to bottom",
|
|
109
|
+
linetype="ortho",
|
|
110
|
+
postfix="puml",
|
|
111
|
+
multiplier=8,
|
|
112
|
+
),
|
|
113
|
+
]
|
|
114
|
+
|
|
115
|
+
for test_set in data:
|
|
116
|
+
metamodel = reader.read(test_set.imd)
|
|
117
|
+
index = Index(metamodel.datasection)
|
|
118
|
+
library_name = f"{index.types_bucket['Model'][-1].name}"
|
|
119
|
+
library = Library.from_imd(metamodel.datasection.ModelData, index, library_name)
|
|
120
|
+
create_python_classes(library, index, output_path)
|
|
121
|
+
diagram = Diagram.from_imd(index)
|
|
122
|
+
for configuration in diagram_config:
|
|
123
|
+
for model_names in test_set.model_names:
|
|
124
|
+
written_path = uml_diagram(
|
|
125
|
+
diagram,
|
|
126
|
+
index,
|
|
127
|
+
model_names,
|
|
128
|
+
configuration.flavour,
|
|
129
|
+
".".join(
|
|
130
|
+
[
|
|
131
|
+
library_name,
|
|
132
|
+
"_".join(model_names),
|
|
133
|
+
configuration.flavour,
|
|
134
|
+
configuration.direction,
|
|
135
|
+
configuration.linetype if configuration.linetype else "_",
|
|
136
|
+
str(configuration.multiplier),
|
|
137
|
+
configuration.postfix,
|
|
138
|
+
]
|
|
139
|
+
),
|
|
140
|
+
output_path,
|
|
141
|
+
linetype=configuration.linetype,
|
|
142
|
+
direction=configuration.direction,
|
|
143
|
+
multiplier=configuration.multiplier,
|
|
144
|
+
)
|
|
145
|
+
subprocess.call(["plantuml", "-tsvg", written_path])
|
|
146
|
+
resize_image(
|
|
147
|
+
written_path.replace(".puml", ".svg"),
|
|
148
|
+
written_path.replace(".puml", ".resized.png"),
|
|
149
|
+
(3840, 2160),
|
|
150
|
+
)
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
# run in bash afterwards:
|
|
154
|
+
# find build/ili2py_output_test/mermaid/ -type f -name "*.md" \
|
|
155
|
+
# | parallel -j 14 'mmdc -i {} -o {.}.png'
|
|
156
|
+
# plantuml -tpng build/ili2py_output_test/plantuml/*.puml
|