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
ili2py/__init__.py
ADDED
ili2py/_version.py
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# file generated by vcs-versioning
|
|
2
|
+
# don't change, don't track in version control
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
__all__ = [
|
|
6
|
+
"__version__",
|
|
7
|
+
"__version_tuple__",
|
|
8
|
+
"version",
|
|
9
|
+
"version_tuple",
|
|
10
|
+
"__commit_id__",
|
|
11
|
+
"commit_id",
|
|
12
|
+
]
|
|
13
|
+
|
|
14
|
+
version: str
|
|
15
|
+
__version__: str
|
|
16
|
+
__version_tuple__: tuple[int | str, ...]
|
|
17
|
+
version_tuple: tuple[int | str, ...]
|
|
18
|
+
commit_id: str | None
|
|
19
|
+
__commit_id__: str | None
|
|
20
|
+
|
|
21
|
+
__version__ = version = '0.1.0'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 1, 0)
|
|
23
|
+
|
|
24
|
+
__commit_id__ = commit_id = None
|
ili2py/cli.py
ADDED
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
"""Main `ili2py` CLI."""
|
|
2
|
+
|
|
3
|
+
import logging
|
|
4
|
+
import os
|
|
5
|
+
import sys
|
|
6
|
+
from typing import Any
|
|
7
|
+
|
|
8
|
+
import click
|
|
9
|
+
from rich.logging import RichHandler
|
|
10
|
+
|
|
11
|
+
from ili2py import version
|
|
12
|
+
from ili2py.mappers.helpers import Index
|
|
13
|
+
from ili2py.readers.interlis_24.ilismeta16.xsdata import Imd16Reader
|
|
14
|
+
from ili2py.writers.diagram import create_uml_diagram
|
|
15
|
+
from ili2py.writers.diagram.interlis import Diagram, tool_settings
|
|
16
|
+
from ili2py.writers.py.python_structure import Library
|
|
17
|
+
from ili2py.writers.py.render import create_python_classes, library_storage_name
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def version_msg():
|
|
21
|
+
"""ili2py version, location and Python version.
|
|
22
|
+
|
|
23
|
+
Get message about ili2py version, location
|
|
24
|
+
and Python version.
|
|
25
|
+
"""
|
|
26
|
+
python_version = sys.version[:6]
|
|
27
|
+
message = f"ili2py {version} from {sys.argv[0]} (Python {python_version})"
|
|
28
|
+
return message
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def flavour_options(setting: str) -> str:
|
|
32
|
+
"""Lists the allowed values of a tool setting per flavour, e.g. for help texts."""
|
|
33
|
+
return ", ".join(
|
|
34
|
+
[f"{key}: {getattr(tool_settings[key], setting)}" for key in tool_settings]
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
@click.group()
|
|
39
|
+
@click.option("-v", "--verbose", is_flag=True, help="Print debug information", default=False)
|
|
40
|
+
@click.version_option(version, "-V", "--version", message=version_msg())
|
|
41
|
+
def cli(verbose):
|
|
42
|
+
level = logging.DEBUG if verbose else logging.INFO
|
|
43
|
+
handlers = []
|
|
44
|
+
# we recognize if we run in tty -> colorlogging is enabled with rich logging else we use
|
|
45
|
+
# the default stream handler (this avoids awkward output when it's piped to a file).
|
|
46
|
+
if sys.stdout.isatty():
|
|
47
|
+
handlers.append(RichHandler())
|
|
48
|
+
else:
|
|
49
|
+
handlers.append(logging.StreamHandler(sys.stdout))
|
|
50
|
+
logging.basicConfig(
|
|
51
|
+
level=level, format="%(levelname)s: %(message)s", datefmt="[%X]", handlers=handlers
|
|
52
|
+
)
|
|
53
|
+
logging.info("Starting ili2py CLI")
|
|
54
|
+
logging.info(version_msg())
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
@cli.command(
|
|
58
|
+
help="""Parses an arbitrary IMD16 and creates a diagram of selected flavour
|
|
59
|
+
representing the selected models.""",
|
|
60
|
+
context_settings=dict(help_option_names=["-h", "--help"], show_default=True),
|
|
61
|
+
)
|
|
62
|
+
@click.option("-i", "--imd", is_flag=False, required=True, help="full path to IMD16 file")
|
|
63
|
+
@click.option(
|
|
64
|
+
"-o",
|
|
65
|
+
"--output_folder",
|
|
66
|
+
is_flag=False,
|
|
67
|
+
required=True,
|
|
68
|
+
help="""Path to the folder where the diagram should be written to.
|
|
69
|
+
The folder will be created if not existing.""",
|
|
70
|
+
)
|
|
71
|
+
@click.option(
|
|
72
|
+
"-f",
|
|
73
|
+
"--flavour",
|
|
74
|
+
is_flag=False,
|
|
75
|
+
default=list(tool_settings.keys())[0],
|
|
76
|
+
help=f"the desired flavour (one of {', '.join(tool_settings.keys())})",
|
|
77
|
+
)
|
|
78
|
+
@click.option(
|
|
79
|
+
"-d",
|
|
80
|
+
"--direction",
|
|
81
|
+
is_flag=False,
|
|
82
|
+
default=None,
|
|
83
|
+
help="the desired direction, depending on the selected flavour "
|
|
84
|
+
f"(one of {flavour_options('directions')})",
|
|
85
|
+
)
|
|
86
|
+
@click.option(
|
|
87
|
+
"-l",
|
|
88
|
+
"--linetype",
|
|
89
|
+
is_flag=False,
|
|
90
|
+
default=None,
|
|
91
|
+
help="the desired linetype, depending on the selected flavour "
|
|
92
|
+
f"(one of {flavour_options('linetype')})",
|
|
93
|
+
)
|
|
94
|
+
@click.option(
|
|
95
|
+
"-n",
|
|
96
|
+
"--file_name",
|
|
97
|
+
is_flag=False,
|
|
98
|
+
default="diagram",
|
|
99
|
+
help="The name of the output diagram. The postfix (md, puml, etc. is added automatically "
|
|
100
|
+
"due to selected flavour).",
|
|
101
|
+
)
|
|
102
|
+
@click.option(
|
|
103
|
+
"-m",
|
|
104
|
+
"--models",
|
|
105
|
+
is_flag=False,
|
|
106
|
+
required=False,
|
|
107
|
+
help="""Model names separated by comma. This is used to filter the content of the
|
|
108
|
+
resulting diagram.
|
|
109
|
+
If not provided, the full tree will be drawn.
|
|
110
|
+
NOTE: This works in conjunction with the depth parameter
|
|
111
|
+
""",
|
|
112
|
+
)
|
|
113
|
+
@click.option(
|
|
114
|
+
"-s",
|
|
115
|
+
"--spacing-line-length",
|
|
116
|
+
is_flag=False,
|
|
117
|
+
default=2,
|
|
118
|
+
required=False,
|
|
119
|
+
help="""The length of the drawn connectors between the diagram nodes.
|
|
120
|
+
NOTE: Currently this only influences plantuml diagrams!
|
|
121
|
+
""",
|
|
122
|
+
)
|
|
123
|
+
@click.option(
|
|
124
|
+
"--depth",
|
|
125
|
+
is_flag=False,
|
|
126
|
+
default=None,
|
|
127
|
+
type=int,
|
|
128
|
+
required=False,
|
|
129
|
+
help="""The depth how the diagram should be drawn in reference to the level of imports.
|
|
130
|
+
0 is the model itself, 1 the model itself and all models its importing and so on.
|
|
131
|
+
NOTE: This can be used in conjunction to the model names to add arbitrary models to the
|
|
132
|
+
diagram.
|
|
133
|
+
""",
|
|
134
|
+
)
|
|
135
|
+
@click.pass_context
|
|
136
|
+
def diagram(ctx: click.Context, **kwargs: Any):
|
|
137
|
+
"""
|
|
138
|
+
parse an arbitrary imd and creates a UML diagram of selected flavour
|
|
139
|
+
"""
|
|
140
|
+
logging.info("Creating diagram")
|
|
141
|
+
metamodel_path = kwargs.pop("imd")
|
|
142
|
+
model_names = kwargs.pop("models")
|
|
143
|
+
output_path = kwargs.pop("output_folder")
|
|
144
|
+
direction = kwargs.pop("direction")
|
|
145
|
+
linetype = kwargs.pop("linetype")
|
|
146
|
+
file_name = kwargs.pop("file_name")
|
|
147
|
+
multiplier = kwargs.pop("spacing_line_length")
|
|
148
|
+
depth = kwargs.pop("depth")
|
|
149
|
+
model_names = model_names.split(",") if model_names else []
|
|
150
|
+
flavour = kwargs.pop("flavour")
|
|
151
|
+
if flavour not in tool_settings:
|
|
152
|
+
click.echo(
|
|
153
|
+
f"The output {flavour} is not allowed. "
|
|
154
|
+
f"It has to be one of {', '.join(tool_settings.keys())}"
|
|
155
|
+
)
|
|
156
|
+
sys.exit(2)
|
|
157
|
+
try:
|
|
158
|
+
metamodel = Imd16Reader().read(metamodel_path)
|
|
159
|
+
index = Index(metamodel.datasection)
|
|
160
|
+
diagram = Diagram.from_imd(index)
|
|
161
|
+
assembled_file_name = f"{file_name or flavour}.{tool_settings[flavour].postfix}"
|
|
162
|
+
logging.info(
|
|
163
|
+
f"""Diagram ({flavour}) is generated with:
|
|
164
|
+
path: {os.path.join(output_path, assembled_file_name)}
|
|
165
|
+
direction: {direction if direction else "DEFAULT"}
|
|
166
|
+
linetype: {linetype if linetype else "DEFAULT"}
|
|
167
|
+
spacing line length: {multiplier}
|
|
168
|
+
depth: {depth}
|
|
169
|
+
"""
|
|
170
|
+
)
|
|
171
|
+
create_uml_diagram(
|
|
172
|
+
diagram,
|
|
173
|
+
index,
|
|
174
|
+
model_names,
|
|
175
|
+
flavour,
|
|
176
|
+
assembled_file_name,
|
|
177
|
+
output_path=output_path,
|
|
178
|
+
direction=direction,
|
|
179
|
+
linetype=linetype,
|
|
180
|
+
multiplier=multiplier,
|
|
181
|
+
depth=depth,
|
|
182
|
+
)
|
|
183
|
+
except Exception as error:
|
|
184
|
+
click.echo(error)
|
|
185
|
+
sys.exit(1)
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
@cli.command(
|
|
189
|
+
help="""Parses an arbitrary imd and creates a library of python classes which
|
|
190
|
+
represents a typed interface to the complete construction.""",
|
|
191
|
+
context_settings=dict(help_option_names=["-h", "--help"]),
|
|
192
|
+
)
|
|
193
|
+
@click.option("-i", "--imd", is_flag=False, required=True, help="full path to imd file")
|
|
194
|
+
@click.option(
|
|
195
|
+
"-o",
|
|
196
|
+
"--output_folder",
|
|
197
|
+
is_flag=False,
|
|
198
|
+
required=True,
|
|
199
|
+
help="Path to where the python package should be written",
|
|
200
|
+
)
|
|
201
|
+
@click.option(
|
|
202
|
+
"-l",
|
|
203
|
+
"--library_name",
|
|
204
|
+
is_flag=False,
|
|
205
|
+
required=True,
|
|
206
|
+
help="Library name which will be used to assemble all python structures in.",
|
|
207
|
+
)
|
|
208
|
+
def python_classes(**kwargs: Any):
|
|
209
|
+
logging.info("Creating python-classes")
|
|
210
|
+
metamodel_path = kwargs.pop("imd")
|
|
211
|
+
output_path = kwargs.pop("output_folder")
|
|
212
|
+
library_name = kwargs.pop("library_name")
|
|
213
|
+
try:
|
|
214
|
+
metamodel = Imd16Reader().read(metamodel_path)
|
|
215
|
+
index = Index(metamodel.datasection)
|
|
216
|
+
library = Library.from_imd(metamodel.datasection.ModelData, index, library_name)
|
|
217
|
+
logging.info(
|
|
218
|
+
f"""Classes are generated with:
|
|
219
|
+
path: {os.path.join(output_path, library_storage_name(library_name))}
|
|
220
|
+
"""
|
|
221
|
+
)
|
|
222
|
+
create_python_classes(library, index, output_path)
|
|
223
|
+
except Exception as error:
|
|
224
|
+
click.echo(error)
|
|
225
|
+
sys.exit(1)
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
if __name__ == "__main__": # pragma: no cover
|
|
229
|
+
cli()
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
|
|
3
|
+
# the common name space used in an INTERLIS 2.3 XTF
|
|
4
|
+
namespace_map = {"ili": "http://www.interlis.ch/INTERLIS2.3"}
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class ILI_META_BASE:
|
|
8
|
+
namespace = namespace_map["ili"]
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@dataclass(kw_only=True)
|
|
12
|
+
class MODEL:
|
|
13
|
+
class Meta(ILI_META_BASE):
|
|
14
|
+
pass
|
|
15
|
+
|
|
16
|
+
NAME: str
|
|
17
|
+
VERSION: str
|
|
18
|
+
URI: str
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@dataclass
|
|
22
|
+
class HeaderSection:
|
|
23
|
+
class Meta(ILI_META_BASE):
|
|
24
|
+
pass
|
|
25
|
+
|
|
26
|
+
MODELS: list[MODEL]
|
|
27
|
+
SENDER: str
|
|
28
|
+
VERSION: str
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
@dataclass
|
|
32
|
+
class TRANSFER:
|
|
33
|
+
class Meta(ILI_META_BASE):
|
|
34
|
+
pass
|
|
35
|
+
|
|
36
|
+
HEADERSECTION: HeaderSection
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
from dataclasses import field, make_dataclass
|
|
2
|
+
from typing import Optional
|
|
3
|
+
|
|
4
|
+
from ili2py.interfaces.interlis.interlis_23 import TRANSFER
|
|
5
|
+
from ili2py.interfaces.interlis.interlis_24.ilismeta16 import ImdTransfer
|
|
6
|
+
from ili2py.interfaces.interlis.interlis_24.ilismeta16.model_data.model_data import ModelData
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class DataClassGenerator:
|
|
10
|
+
def __init__(self, meta_model: ImdTransfer):
|
|
11
|
+
self.meta_model = meta_model
|
|
12
|
+
|
|
13
|
+
def find_model_by_name(self, model_name: str) -> ModelData:
|
|
14
|
+
for model_data in self.meta_model.datasection.ModelData:
|
|
15
|
+
if model_name == model_data.Model.Name:
|
|
16
|
+
return model_data
|
|
17
|
+
raise LookupError(f"No model with name {model_name} could be found.")
|
|
18
|
+
|
|
19
|
+
def generate(self, model_name: str):
|
|
20
|
+
"""
|
|
21
|
+
This is a factory method which produces dataclasses at runtime `make_dataclass`. The
|
|
22
|
+
construction plan of the dataclasses is derived from the tree of dataclass objects
|
|
23
|
+
which has to be created to be first.
|
|
24
|
+
|
|
25
|
+
TODO: currently this makes no big sense since we usually want to read all models which
|
|
26
|
+
can be in an XTF.
|
|
27
|
+
|
|
28
|
+
Args:
|
|
29
|
+
model_name: The name of the desired model name which the XTF is constructed from.
|
|
30
|
+
|
|
31
|
+
Returns: The tree of dataclasses representing the structure of the XTF. This can be
|
|
32
|
+
used to generate readers out of it.
|
|
33
|
+
"""
|
|
34
|
+
model_data = self.find_model_by_name(model_name)
|
|
35
|
+
topic_fields = []
|
|
36
|
+
for topic_item in model_data.SubModel:
|
|
37
|
+
class_fields = [("bid", str, field(metadata={"name": "BID", "type": "Attribute"}))]
|
|
38
|
+
# find all classes inside sub_model[ili:TOPIC]
|
|
39
|
+
for class_item in model_data.Class:
|
|
40
|
+
if (
|
|
41
|
+
class_item.element_in_package.ref == topic_item.tid
|
|
42
|
+
and class_item.kind == "Class"
|
|
43
|
+
):
|
|
44
|
+
attr_or_param_fields = [
|
|
45
|
+
(
|
|
46
|
+
"tid",
|
|
47
|
+
Optional[str], # noqa: UP045 - runtime type for xsdata
|
|
48
|
+
field(default=None, metadata={"name": "TID", "type": "Attribute"}),
|
|
49
|
+
)
|
|
50
|
+
]
|
|
51
|
+
# find all attributes related to class
|
|
52
|
+
for attr_or_param_item in model_data.AttrOrParam:
|
|
53
|
+
if attr_or_param_item.AttrParent_ref.ref == class_item.tid:
|
|
54
|
+
# find type definition for attribute (currently we have implemented
|
|
55
|
+
# [ili:TextType]
|
|
56
|
+
for type_item in model_data.TextType:
|
|
57
|
+
if type_item.tid == attr_or_param_item.Type_ref.ref:
|
|
58
|
+
attr_or_param_field = (
|
|
59
|
+
attr_or_param_item.Name.lower(),
|
|
60
|
+
str if type_item.mandatory else Optional[str], # noqa: UP045
|
|
61
|
+
(
|
|
62
|
+
field(
|
|
63
|
+
metadata={
|
|
64
|
+
"name": attr_or_param_item.Name,
|
|
65
|
+
"type": "Element",
|
|
66
|
+
"required": type_item.mandatory,
|
|
67
|
+
}
|
|
68
|
+
)
|
|
69
|
+
if type_item.mandatory
|
|
70
|
+
else field(
|
|
71
|
+
default=None,
|
|
72
|
+
metadata={
|
|
73
|
+
"name": attr_or_param_item.Name,
|
|
74
|
+
"type": "Element",
|
|
75
|
+
"required": type_item.mandatory,
|
|
76
|
+
},
|
|
77
|
+
)
|
|
78
|
+
),
|
|
79
|
+
)
|
|
80
|
+
# dataclasses have kwargs and args. We need to ensure, that
|
|
81
|
+
# the stay in correct order (args first)
|
|
82
|
+
if type_item.mandatory:
|
|
83
|
+
attr_or_param_fields.insert(0, attr_or_param_field)
|
|
84
|
+
else:
|
|
85
|
+
attr_or_param_fields.append(attr_or_param_field)
|
|
86
|
+
# find type definition for attribute (currently we have implemented
|
|
87
|
+
# [ili:NumType]
|
|
88
|
+
for type_item in model_data.NumType:
|
|
89
|
+
if type_item.tid == attr_or_param_item.Type_ref.ref:
|
|
90
|
+
attr_or_param_field = (
|
|
91
|
+
attr_or_param_item.Name.lower(),
|
|
92
|
+
int if type_item.mandatory else Optional[int], # noqa: UP045
|
|
93
|
+
(
|
|
94
|
+
field(
|
|
95
|
+
metadata={
|
|
96
|
+
"name": attr_or_param_item.Name,
|
|
97
|
+
"type": "Element",
|
|
98
|
+
"required": type_item.mandatory,
|
|
99
|
+
}
|
|
100
|
+
)
|
|
101
|
+
if type_item.mandatory
|
|
102
|
+
else field(
|
|
103
|
+
default=None,
|
|
104
|
+
metadata={
|
|
105
|
+
"name": attr_or_param_item.Name,
|
|
106
|
+
"type": "Element",
|
|
107
|
+
"required": type_item.mandatory,
|
|
108
|
+
},
|
|
109
|
+
)
|
|
110
|
+
),
|
|
111
|
+
)
|
|
112
|
+
# dataclasses have kwargs and args. We need to ensure, that
|
|
113
|
+
# the stay in correct order (args first)
|
|
114
|
+
if type_item.mandatory:
|
|
115
|
+
attr_or_param_fields.insert(0, attr_or_param_field)
|
|
116
|
+
else:
|
|
117
|
+
attr_or_param_fields.append(attr_or_param_field)
|
|
118
|
+
|
|
119
|
+
class_fields.append(
|
|
120
|
+
(
|
|
121
|
+
class_item.name.lower(),
|
|
122
|
+
list[make_dataclass(class_item.name, attr_or_param_fields)],
|
|
123
|
+
field(
|
|
124
|
+
default=None,
|
|
125
|
+
metadata={
|
|
126
|
+
"name": class_item.tid,
|
|
127
|
+
"type": "Element",
|
|
128
|
+
"default": None,
|
|
129
|
+
},
|
|
130
|
+
),
|
|
131
|
+
)
|
|
132
|
+
)
|
|
133
|
+
topic_fields.append(
|
|
134
|
+
(
|
|
135
|
+
topic_item.Name.lower(),
|
|
136
|
+
make_dataclass(topic_item.Name, class_fields),
|
|
137
|
+
field(
|
|
138
|
+
metadata={"name": topic_item.tid, "type": "Element", "default": None}
|
|
139
|
+
),
|
|
140
|
+
)
|
|
141
|
+
)
|
|
142
|
+
|
|
143
|
+
class XtfTransfer(TRANSFER):
|
|
144
|
+
DATASECTION: make_dataclass("DATASECTION", fields=topic_fields)
|
|
145
|
+
|
|
146
|
+
return XtfTransfer
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
from dataclasses import dataclass, field
|
|
2
|
+
|
|
3
|
+
namespace_map = {
|
|
4
|
+
"ili": "http://www.interlis.ch/xtf/2.4/INTERLIS",
|
|
5
|
+
"geom": "http://www.interlis.ch/geometry/1.0",
|
|
6
|
+
"xsi": "http://www.w3.org/2001/XMLSchema-instance",
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@dataclass
|
|
11
|
+
class Model:
|
|
12
|
+
model: str = field(metadata={"namespace": namespace_map["ili"]})
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
@dataclass
|
|
16
|
+
class Models:
|
|
17
|
+
elements: list[Model] = field(
|
|
18
|
+
default_factory=list,
|
|
19
|
+
metadata={
|
|
20
|
+
"type": "Elements",
|
|
21
|
+
"choices": ({"name": "model", "type": Model, "namespace": namespace_map["ili"]},),
|
|
22
|
+
},
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
@dataclass
|
|
27
|
+
class HeaderSection:
|
|
28
|
+
models: Models = field(metadata={"namespace": namespace_map["ili"]})
|
|
29
|
+
sender: str | None = field(
|
|
30
|
+
default=None,
|
|
31
|
+
metadata={"namespace": namespace_map["ili"]},
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
@dataclass
|
|
36
|
+
class Transfer:
|
|
37
|
+
headersection: HeaderSection = field(metadata={"namespace": namespace_map["ili"]})
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
|
|
2
|
+
xsdata version: 25.7
|
|
3
|
+
|
|
4
|
+
```shell
|
|
5
|
+
xsdata generate -p ilismeta -r --unnest-classes -ss clusters --compound-fields ../../../../../../tests/data/ilismeta16/IlisMeta16.imd
|
|
6
|
+
```
|
|
7
|
+
|
|
8
|
+
xsdata created a file `class_ref_type_ref1.py` which was not correct. It inherited from nothing
|
|
9
|
+
and therefore missed alot of attributes which come from inheritance. It is still
|
|
10
|
+
unclear, why xsdata creates such construction because it also creates the almost
|
|
11
|
+
correct one. But this lacked the `ref` attribute. The solution was to add the
|
|
12
|
+
`ref` attribute from `class_ref_type_ref1.ClassRefTypeRef1` to the
|
|
13
|
+
`class_ref_type_ref.ClassRefTypeRef` and repoint all references too. After that, `class_ref_type_ref1.py`
|
|
14
|
+
was deleted.
|
|
15
|
+
|
|
16
|
+
while generating classes from xsd with xsdata another problem occurred in
|
|
17
|
+
[choice definition](ilismeta16_2022_10_10/actual_argument_type.py#L350). This was falsely
|
|
18
|
+
generated as a single object choice, but had to be a list of choices, actually. It had to be
|
|
19
|
+
corrected manually by making it an optional list of union... and in the field definition the
|
|
20
|
+
`default=None` had to be changed to `default_factory=list`. After that fix all expressions could
|
|
21
|
+
be parsed from IMD16 files in the tests.
|
|
File without changes
|