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.
Files changed (462) hide show
  1. ili2py/__init__.py +3 -0
  2. ili2py/_version.py +24 -0
  3. ili2py/cli.py +229 -0
  4. ili2py/interfaces/__init__.py +0 -0
  5. ili2py/interfaces/interlis/__init__.py +0 -0
  6. ili2py/interfaces/interlis/interlis_23/__init__.py +36 -0
  7. ili2py/interfaces/interlis/interlis_23/generator.py +146 -0
  8. ili2py/interfaces/interlis/interlis_24/__init__.py +37 -0
  9. ili2py/interfaces/interlis/interlis_24/ilismeta/README.md +21 -0
  10. ili2py/interfaces/interlis/interlis_24/ilismeta/__init__.py +0 -0
  11. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/__init__.py +815 -0
  12. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/actual_argument_type.py +630 -0
  13. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/actual_argument_type_formal_argument.py +19 -0
  14. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/actual_argument_type_object_classes.py +22 -0
  15. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/allowed_in_basket.py +11 -0
  16. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/allowed_in_basket_type.py +33 -0
  17. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/allowed_in_basket_type_class_in_basket.py +19 -0
  18. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/allowed_in_basket_type_of_data_unit.py +19 -0
  19. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/any_oidtype.py +12 -0
  20. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/any_oidtype_type.py +11 -0
  21. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/aref_of.py +12 -0
  22. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/aref_of_type.py +9 -0
  23. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/aref_restriction.py +12 -0
  24. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/aref_restriction_type.py +32 -0
  25. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/aref_restriction_type_aref.py +19 -0
  26. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/aref_restriction_type_type.py +19 -0
  27. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/argument.py +11 -0
  28. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/argument_type.py +11 -0
  29. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/argument_type_1.py +62 -0
  30. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/argument_type_function.py +37 -0
  31. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/argument_type_type_1.py +9 -0
  32. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/assoc_acc.py +11 -0
  33. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/assoc_acc_origin.py +11 -0
  34. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/assoc_acc_origin_type.py +8 -0
  35. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/assoc_acc_target.py +11 -0
  36. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/assoc_acc_target_type.py +8 -0
  37. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/assoc_acc_type.py +29 -0
  38. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/assoc_acc_type_assoc_acc.py +19 -0
  39. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/assoc_acc_type_class.py +19 -0
  40. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/assoc_role.py +11 -0
  41. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/assoc_role_type.py +8 -0
  42. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attr_or_param.py +11 -0
  43. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attr_or_param_type.py +11 -0
  44. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attr_or_param_type_1.py +88 -0
  45. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attr_or_param_type_attr_parent.py +37 -0
  46. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attr_or_param_type_derivates.py +116 -0
  47. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attr_or_param_type_param_parent.py +37 -0
  48. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attr_or_param_type_type_1.py +9 -0
  49. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attribute_const.py +11 -0
  50. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attribute_const_type.py +19 -0
  51. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attribute_const_type_attribute.py +19 -0
  52. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attribute_ref_type.py +11 -0
  53. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attribute_ref_type_type.py +19 -0
  54. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/attribute_ref_type_type_of.py +29 -0
  55. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/axis_spec.py +11 -0
  56. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/axis_spec_type.py +29 -0
  57. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/axis_spec_type_axis.py +27 -0
  58. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/axis_spec_type_coord_type.py +19 -0
  59. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/base_class.py +11 -0
  60. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/base_class_type.py +29 -0
  61. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/base_class_type_base_class.py +19 -0
  62. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/base_class_type_crt.py +19 -0
  63. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/base_type.py +11 -0
  64. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/base_type_type.py +8 -0
  65. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/base_view_def.py +11 -0
  66. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/base_view_def_type.py +8 -0
  67. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/base_view_ref.py +11 -0
  68. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/base_view_ref_type.py +8 -0
  69. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/blackbox_type.py +11 -0
  70. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/blackbox_type_type.py +19 -0
  71. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/boolean_type.py +11 -0
  72. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/boolean_type_type.py +10 -0
  73. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_attr.py +11 -0
  74. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_attr_type.py +8 -0
  75. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_const.py +11 -0
  76. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_const_type.py +19 -0
  77. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_const_type_class.py +19 -0
  78. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_constraint.py +11 -0
  79. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_constraint_type.py +8 -0
  80. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_mod.py +11 -0
  81. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_param.py +11 -0
  82. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_param_type.py +8 -0
  83. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_ref.py +11 -0
  84. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_ref_type.py +23 -0
  85. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_ref_type_ref.py +19 -0
  86. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_ref_type_type.py +10 -0
  87. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_related_type.py +11 -0
  88. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_related_type_type.py +10 -0
  89. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_restriction.py +11 -0
  90. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_restriction_type.py +31 -0
  91. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_restriction_type_class_restriction.py +19 -0
  92. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_restriction_type_crtr.py +19 -0
  93. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_type.py +74 -0
  94. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_type_existence_constraint.py +29 -0
  95. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_type_multiplicity.py +22 -0
  96. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_type_oid.py +29 -0
  97. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/class_type_view.py +29 -0
  98. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/concrete_for_generic.py +11 -0
  99. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/concrete_for_generic_type.py +33 -0
  100. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/concrete_for_generic_type_concrete_domain.py +19 -0
  101. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/concrete_for_generic_type_generic_def.py +19 -0
  102. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/cond_sign_param_assignment.py +13 -0
  103. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/cond_sign_param_assignment_type.py +31 -0
  104. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/cond_sign_param_assignment_type_assignments.py +22 -0
  105. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/cond_sign_param_assignment_type_where.py +116 -0
  106. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/constant.py +11 -0
  107. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/constant_type.py +28 -0
  108. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/constraint.py +11 -0
  109. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/constraint_type.py +28 -0
  110. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/constraint_type_to_class.py +29 -0
  111. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/constraint_type_to_domain.py +29 -0
  112. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/context.py +11 -0
  113. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/context_type.py +10 -0
  114. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/coord_type.py +11 -0
  115. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/coord_type_type.py +38 -0
  116. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/data_unit.py +11 -0
  117. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/data_unit_type.py +37 -0
  118. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/data_unit_type_oid.py +29 -0
  119. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/dependency.py +11 -0
  120. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/dependency_type.py +29 -0
  121. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/dependency_type_dependent.py +19 -0
  122. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/dependency_type_using.py +19 -0
  123. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/derived_assoc.py +11 -0
  124. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/derived_assoc_type.py +8 -0
  125. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/doc_text.py +11 -0
  126. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/doc_text_translation.py +11 -0
  127. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/doc_text_translation_type.py +17 -0
  128. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/doc_text_type.py +25 -0
  129. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/domain_constraint.py +11 -0
  130. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/domain_constraint_type.py +8 -0
  131. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/domain_type.py +11 -0
  132. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/domain_type_type.py +28 -0
  133. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/domain_type_type_context.py +29 -0
  134. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/drawing_rule.py +11 -0
  135. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/drawing_rule_type.py +37 -0
  136. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/drawing_rule_type_class.py +29 -0
  137. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/drawing_rule_type_graphic.py +29 -0
  138. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/drawing_rule_type_rule.py +22 -0
  139. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_assignment_type_max_enum_value.py +19 -0
  140. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_assignment_type_min_enum_value.py +19 -0
  141. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_mapping_type_enum_value.py +22 -0
  142. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_node.py +11 -0
  143. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_node_type.py +28 -0
  144. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_node_type_enum_type.py +37 -0
  145. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_node_type_parent_node.py +37 -0
  146. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_tree_value_type.py +11 -0
  147. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_tree_value_type_type.py +20 -0
  148. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_tree_value_type_type_et.py +29 -0
  149. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_type.py +11 -0
  150. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/enum_type_type.py +19 -0
  151. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/existence_constraint.py +11 -0
  152. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/existence_constraint_type.py +20 -0
  153. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/existence_constraint_type_attr.py +22 -0
  154. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/existence_def.py +11 -0
  155. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/existence_def_type.py +8 -0
  156. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/explicit_assoc_acc.py +11 -0
  157. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/explicit_assoc_acc_type.py +8 -0
  158. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/explicit_assoc_access.py +11 -0
  159. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/explicit_assoc_access_type.py +44 -0
  160. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/explicit_assoc_access_type_assoc_acc_of.py +37 -0
  161. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/explicit_assoc_access_type_origin_role.py +29 -0
  162. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/explicit_assoc_access_type_target_role.py +29 -0
  163. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/expression.py +11 -0
  164. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/expression_type.py +8 -0
  165. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/extendable_me.py +12 -0
  166. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/extendable_metype.py +49 -0
  167. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/extendable_metype_super.py +29 -0
  168. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/factor.py +11 -0
  169. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/factor_type.py +10 -0
  170. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/formal_argument.py +11 -0
  171. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/formal_argument_type.py +8 -0
  172. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/formatted_type.py +11 -0
  173. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/formatted_type_type.py +29 -0
  174. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/formatted_type_type_struct.py +29 -0
  175. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/function_call_type_function.py +19 -0
  176. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/function_def.py +11 -0
  177. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/function_def_type.py +28 -0
  178. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/function_def_type_result_type.py +29 -0
  179. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/generic_def.py +11 -0
  180. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/generic_def_type.py +8 -0
  181. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/graphic.py +11 -0
  182. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/graphic_base.py +11 -0
  183. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/graphic_base_type.py +8 -0
  184. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/graphic_rule.py +11 -0
  185. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/graphic_rule_type.py +8 -0
  186. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/graphic_type.py +28 -0
  187. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/graphic_type_base.py +29 -0
  188. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/graphic_type_where.py +116 -0
  189. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/ili1_format.py +11 -0
  190. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/ili1_format_type.py +96 -0
  191. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/ili1_transfer_element.py +11 -0
  192. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/ili1_transfer_element_type.py +35 -0
  193. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/ili1_transfer_element_type_ili1_ref_attr.py +27 -0
  194. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/ili1_transfer_element_type_ili1_transfer_class.py +19 -0
  195. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/import_mod.py +11 -0
  196. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/import_type.py +29 -0
  197. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/import_type_imported_p.py +19 -0
  198. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/import_type_importing_p.py +19 -0
  199. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/inheritance.py +11 -0
  200. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/inheritance_type.py +8 -0
  201. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_attr.py +11 -0
  202. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_attr_type.py +8 -0
  203. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_coord.py +11 -0
  204. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_coord_type.py +8 -0
  205. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_form.py +11 -0
  206. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_form_structure.py +11 -0
  207. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_form_structure_type.py +8 -0
  208. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_form_type.py +20 -0
  209. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_form_type_structure.py +29 -0
  210. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_type.py +11 -0
  211. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_type_type.py +53 -0
  212. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_type_type_coord_type.py +29 -0
  213. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/line_type_type_lastructure.py +29 -0
  214. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/lines_form.py +11 -0
  215. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/lines_form_type.py +29 -0
  216. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/lines_form_type_line_form.py +19 -0
  217. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/lines_form_type_line_type.py +19 -0
  218. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/local_ftype.py +12 -0
  219. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/local_ftype_type.py +9 -0
  220. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/local_type.py +11 -0
  221. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/local_type_type.py +8 -0
  222. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_attribute.py +11 -0
  223. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_attribute_type.py +46 -0
  224. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_attribute_type_meta_element.py +29 -0
  225. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_attributes.py +11 -0
  226. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_attributes_type.py +8 -0
  227. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_basket_def.py +11 -0
  228. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_basket_def_type.py +31 -0
  229. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_basket_def_type_meta_data_topic.py +29 -0
  230. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_basket_members.py +11 -0
  231. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_basket_members_type.py +8 -0
  232. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_data_unit.py +11 -0
  233. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_data_unit_type.py +8 -0
  234. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_element.py +11 -0
  235. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_element_type.py +48 -0
  236. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_element_type_documentation.py +22 -0
  237. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_element_type_element_in_package.py +29 -0
  238. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_object_class.py +11 -0
  239. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_object_class_type.py +8 -0
  240. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_object_def.py +11 -0
  241. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_object_def_type.py +40 -0
  242. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_object_def_type_class.py +29 -0
  243. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/meta_object_def_type_meta_basket_def.py +29 -0
  244. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/metranslation.py +12 -0
  245. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/metranslation_type.py +41 -0
  246. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/metranslation_type_of.py +19 -0
  247. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/metranslation_type_translated_doc.py +22 -0
  248. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/model.py +11 -0
  249. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/model_data.py +11 -0
  250. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/model_data_basket_oid.py +12 -0
  251. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/model_data_basket_oidtype.py +9 -0
  252. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/model_data_type.py +455 -0
  253. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/model_translation.py +11 -0
  254. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/model_translation_type.py +33 -0
  255. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/model_type.py +101 -0
  256. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/model_type_ili1_format.py +22 -0
  257. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/multi_value.py +11 -0
  258. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/multi_value_type.py +28 -0
  259. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/multi_value_type_multiplicity.py +22 -0
  260. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/multiplicity.py +11 -0
  261. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/multiplicity_type.py +29 -0
  262. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/num_type.py +11 -0
  263. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/num_type_type.py +60 -0
  264. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/num_type_type_ref_sys.py +29 -0
  265. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/num_type_type_unit.py +29 -0
  266. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/num_unit.py +11 -0
  267. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/num_unit_type.py +8 -0
  268. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/nums_ref_sys.py +11 -0
  269. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/nums_ref_sys_type.py +18 -0
  270. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/object_oid.py +12 -0
  271. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/object_oidtype.py +9 -0
  272. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/object_type.py +11 -0
  273. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/object_type_type.py +19 -0
  274. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/package.py +11 -0
  275. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/package_elements.py +11 -0
  276. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/package_elements_type.py +8 -0
  277. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/package_type.py +10 -0
  278. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/path_el.py +11 -0
  279. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/path_el_type.py +44 -0
  280. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/path_el_type_ref.py +19 -0
  281. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/path_or_insp_factor.py +11 -0
  282. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/path_or_insp_factor_type.py +32 -0
  283. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/path_or_insp_factor_type_inspection.py +19 -0
  284. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/path_or_insp_factor_type_path_els.py +22 -0
  285. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/reference_type.py +11 -0
  286. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/reference_type_type.py +19 -0
  287. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/renamed_base_view.py +11 -0
  288. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/renamed_base_view_type.py +39 -0
  289. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/renamed_base_view_type_base_view.py +29 -0
  290. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/renamed_base_view_type_view.py +37 -0
  291. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/result_type.py +11 -0
  292. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/result_type_type.py +8 -0
  293. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/role.py +11 -0
  294. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/role_type.py +64 -0
  295. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/role_type_association.py +37 -0
  296. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/role_type_derivates.py +116 -0
  297. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/role_type_multiplicity.py +22 -0
  298. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/runtime_param_ref.py +11 -0
  299. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/runtime_param_ref_type.py +22 -0
  300. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/runtime_param_ref_type_runtime_param.py +19 -0
  301. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/set_constraint.py +11 -0
  302. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/set_constraint_type.py +28 -0
  303. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/set_constraint_type_constraint.py +116 -0
  304. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/set_constraint_type_where.py +116 -0
  305. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/sign_class.py +11 -0
  306. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/sign_class_type.py +8 -0
  307. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/sign_param_assignment.py +11 -0
  308. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/sign_param_assignment_type.py +32 -0
  309. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/sign_param_assignment_type_assignment.py +116 -0
  310. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/sign_param_assignment_type_param.py +19 -0
  311. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/simple_constraint.py +11 -0
  312. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/simple_constraint_type.py +42 -0
  313. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/simple_constraint_type_logical_expression.py +116 -0
  314. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/struct_of_format.py +11 -0
  315. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/struct_of_format_type.py +8 -0
  316. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/sub_model.py +11 -0
  317. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/sub_model_type.py +10 -0
  318. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/sub_node.py +11 -0
  319. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/sub_node_type.py +8 -0
  320. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/text_type.py +11 -0
  321. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/text_type_type.py +29 -0
  322. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/top_node.py +11 -0
  323. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/top_node_type.py +8 -0
  324. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/transfer_element.py +11 -0
  325. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/transfer_element_type.py +33 -0
  326. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/transfer_element_type_transfer_class.py +19 -0
  327. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/transfer_element_type_transfer_element.py +27 -0
  328. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/translation.py +11 -0
  329. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/translation_type.py +36 -0
  330. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/translation_type_translations.py +22 -0
  331. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/tree_value_type_of.py +11 -0
  332. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/tree_value_type_of_type.py +8 -0
  333. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/type_mod.py +11 -0
  334. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/type_related_type.py +11 -0
  335. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/type_related_type_type.py +22 -0
  336. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/type_related_type_type_base_type.py +29 -0
  337. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/type_restriction.py +11 -0
  338. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/type_restriction_type.py +31 -0
  339. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/type_restriction_type_trtr.py +19 -0
  340. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/type_restriction_type_type_restriction.py +19 -0
  341. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/type_type.py +28 -0
  342. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/type_type_lftparent.py +29 -0
  343. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/type_type_ltparent.py +29 -0
  344. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unique_constraint.py +11 -0
  345. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unique_constraint_type.py +40 -0
  346. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unique_constraint_type_unique_def.py +22 -0
  347. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unique_constraint_type_where.py +116 -0
  348. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unit.py +11 -0
  349. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unit_function.py +11 -0
  350. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unit_function_type.py +19 -0
  351. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unit_ref.py +11 -0
  352. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unit_ref_type.py +19 -0
  353. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unit_ref_type_unit.py +19 -0
  354. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unit_type.py +28 -0
  355. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/unit_type_definition.py +116 -0
  356. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/view.py +11 -0
  357. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/view_type.py +46 -0
  358. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/view_type_formation_parameter.py +116 -0
  359. ili2py/interfaces/interlis/interlis_24/ilismeta/ilismeta16_2022_10_10/view_type_where.py +116 -0
  360. ili2py/interfaces/interlis/interlis_24/ilismeta16/README.md +6 -0
  361. ili2py/interfaces/interlis/interlis_24/ilismeta16/__init__.py +45 -0
  362. ili2py/interfaces/interlis/interlis_24/ilismeta16/helper.py +65 -0
  363. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/__init__.py +0 -0
  364. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/abstract_element.py +85 -0
  365. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/constraints.py +47 -0
  366. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/__init__.py +0 -0
  367. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/extendable_me.py +102 -0
  368. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/type/__init__.py +0 -0
  369. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/type/domain_type/__init__.py +0 -0
  370. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/type/domain_type/class_related_type/__init__.py +0 -0
  371. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/type/domain_type/class_related_type/class_related_type.py +26 -0
  372. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/type/domain_type/class_related_type/role.py +56 -0
  373. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/type/domain_type/domain_type.py +171 -0
  374. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/type/expression/__init__.py +0 -0
  375. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/type/expression/expression.py +52 -0
  376. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/type/expression/factor/__init__.py +0 -0
  377. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/type/expression/factor/factor.py +46 -0
  378. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/extendable_me/type/type_class.py +77 -0
  379. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/line_form.py +39 -0
  380. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/meta_element.py +47 -0
  381. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/model_data.py +132 -0
  382. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/package/__init__.py +0 -0
  383. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/package/package.py +99 -0
  384. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/path_elements.py +51 -0
  385. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/references.py +57 -0
  386. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_data/serialization_elements.py +81 -0
  387. ili2py/interfaces/interlis/interlis_24/ilismeta16/model_translation/__init__.py +0 -0
  388. ili2py/interfaces/interlis/interlis_24/ilismeta16/shared.py +5 -0
  389. ili2py/mappers/__init__.py +0 -0
  390. ili2py/mappers/helpers.py +1018 -0
  391. ili2py/mappers/internal/__init__.py +0 -0
  392. ili2py/mappers/internal/ilismeta16/__init__.py +0 -0
  393. ili2py/mappers/internal/ilismeta16/domain.py +29 -0
  394. ili2py/mappers/internal/ilismeta16/model_data/__init__.py +0 -0
  395. ili2py/mappers/internal/ilismeta16/model_data/definitions.py +401 -0
  396. ili2py/mappers/internal/ilismeta16/model_data/domain.py +31 -0
  397. ili2py/mappers/internal/ilismeta16/model_data/types.py +94 -0
  398. ili2py/mappers/internal/ilismeta16/model_data/units.py +49 -0
  399. ili2py/py.typed +0 -0
  400. ili2py/readers/__init__.py +0 -0
  401. ili2py/readers/interlis_23/__init__.py +0 -0
  402. ili2py/readers/interlis_23/xtf/__init__.py +0 -0
  403. ili2py/readers/interlis_23/xtf/xsdata.py +38 -0
  404. ili2py/readers/interlis_24/__init__.py +0 -0
  405. ili2py/readers/interlis_24/ilismeta16/__init__.py +0 -0
  406. ili2py/readers/interlis_24/ilismeta16/xsdata.py +40 -0
  407. ili2py/readers/interlis_24/xtf/__init__.py +0 -0
  408. ili2py/scripts/__init__.py +0 -0
  409. ili2py/scripts/config.py +21 -0
  410. ili2py/scripts/generate_docs_diagrams.py +177 -0
  411. ili2py/scripts/generate_mermaid_diagrams.py +118 -0
  412. ili2py/scripts/generate_plantuml_diagrams.py +156 -0
  413. ili2py/scripts/generate_test_output.py +632 -0
  414. ili2py/writers/__init__.py +0 -0
  415. ili2py/writers/diagram/__init__.py +33 -0
  416. ili2py/writers/diagram/interlis/__init__.py +115 -0
  417. ili2py/writers/diagram/interlis/templates/dot/class.jinja2 +34 -0
  418. ili2py/writers/diagram/interlis/templates/dot/classes.jinja2 +4 -0
  419. ili2py/writers/diagram/interlis/templates/dot/dot.jinja2 +48 -0
  420. ili2py/writers/diagram/interlis/templates/mermaid/mermaid.jinja2 +69 -0
  421. ili2py/writers/diagram/interlis/templates/plantuml/plantuml.jinja2 +62 -0
  422. ili2py/writers/diagram/interlis/templates/plantuml_role_members/plantuml_role_members.jinja2 +78 -0
  423. ili2py/writers/diagram/interlis/uml.py +353 -0
  424. ili2py/writers/helpers.py +36 -0
  425. ili2py/writers/py/__init__.py +0 -0
  426. ili2py/writers/py/constraints.py +183 -0
  427. ili2py/writers/py/interlis23/templates/classes.jinja2 +218 -0
  428. ili2py/writers/py/interlis23/templates/convertable_types.jinja2 +50 -0
  429. ili2py/writers/py/interlis23/templates/coord_types.jinja2 +126 -0
  430. ili2py/writers/py/interlis23/templates/domain_types.jinja2 +26 -0
  431. ili2py/writers/py/interlis23/templates/enumerations.jinja2 +27 -0
  432. ili2py/writers/py/interlis23/templates/library_init.jinja2 +5 -0
  433. ili2py/writers/py/interlis23/templates/line_types.jinja2 +162 -0
  434. ili2py/writers/py/interlis23/templates/module.jinja2 +89 -0
  435. ili2py/writers/py/interlis23/templates/package_init.jinja2 +56 -0
  436. ili2py/writers/py/interlis23/templates/references.jinja2 +26 -0
  437. ili2py/writers/py/interlis23/templates/xtf_opening.jinja2 +126 -0
  438. ili2py/writers/py/interlis24/templates/classes.jinja2 +225 -0
  439. ili2py/writers/py/interlis24/templates/convertable_types.jinja2 +50 -0
  440. ili2py/writers/py/interlis24/templates/coord_types.jinja2 +120 -0
  441. ili2py/writers/py/interlis24/templates/domain_types.jinja2 +26 -0
  442. ili2py/writers/py/interlis24/templates/enumerations.jinja2 +27 -0
  443. ili2py/writers/py/interlis24/templates/library_init.jinja2 +5 -0
  444. ili2py/writers/py/interlis24/templates/line_type_polyline.jinja2 +31 -0
  445. ili2py/writers/py/interlis24/templates/line_type_polyline_multi.jinja2 +49 -0
  446. ili2py/writers/py/interlis24/templates/line_type_segment.jinja2 +27 -0
  447. ili2py/writers/py/interlis24/templates/line_type_surface.jinja2 +31 -0
  448. ili2py/writers/py/interlis24/templates/line_type_surface_boundary.jinja2 +40 -0
  449. ili2py/writers/py/interlis24/templates/line_type_surface_multi.jinja2 +50 -0
  450. ili2py/writers/py/interlis24/templates/line_types.jinja2 +41 -0
  451. ili2py/writers/py/interlis24/templates/module.jinja2 +89 -0
  452. ili2py/writers/py/interlis24/templates/package_init.jinja2 +56 -0
  453. ili2py/writers/py/interlis24/templates/references.jinja2 +13 -0
  454. ili2py/writers/py/interlis24/templates/xtf_opening.jinja2 +120 -0
  455. ili2py/writers/py/python_structure.py +1829 -0
  456. ili2py/writers/py/render.py +180 -0
  457. interlis2py-0.1.0.dist-info/METADATA +91 -0
  458. interlis2py-0.1.0.dist-info/RECORD +462 -0
  459. interlis2py-0.1.0.dist-info/WHEEL +5 -0
  460. interlis2py-0.1.0.dist-info/entry_points.txt +2 -0
  461. interlis2py-0.1.0.dist-info/licenses/LICENSE +661 -0
  462. interlis2py-0.1.0.dist-info/top_level.txt +1 -0
File without changes
File without changes
@@ -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