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,29 @@
1
+ def BasketOID(value: str):
2
+ """
3
+ Enforces the IlisMeta16.BasketOID Domain definition in the ilismeta16 model.
4
+
5
+ Raises:
6
+ AssertionError when value does not match rules.
7
+ """
8
+ assert isinstance(value, str)
9
+
10
+
11
+ def MetaElemOID(value: int):
12
+ """
13
+ Enforces the IlisMeta16.MetaElemOID Domain definition in the ilismeta16 model.
14
+
15
+ Raises:
16
+ AssertionError when value does not match rules.
17
+ """
18
+ assert isinstance(value, str)
19
+
20
+
21
+ def LanguageCode(value: str):
22
+ """
23
+ Enforces the IlisMeta16.LanguageCode Domain definition in the ilismeta16 model.
24
+
25
+ Raises:
26
+ AssertionError when value does not match rules.
27
+ """
28
+ assert isinstance(value, str)
29
+ assert len(value) <= 5
@@ -0,0 +1,401 @@
1
+ from abc import ABC
2
+ from enum import Enum
3
+ from typing import Optional
4
+
5
+ from ili2py.mappers.internal.ilismeta16.domain import LanguageCode
6
+ from ili2py.mappers.internal.ilismeta16.model_data.domain import Code, LengthRange, MultRange
7
+
8
+ # MetaElements definition of ilisMeta16.ili
9
+
10
+
11
+ class DocText:
12
+ def __init__(self, text: str, name: str | None = None):
13
+ self.text = text
14
+ self.name = name
15
+
16
+
17
+ class MetaAttribute:
18
+ def __init__(self, name: str, value: str, meta_element: Optional["MetaElement"] = None):
19
+ self.name = name
20
+ self.value = value
21
+ self.meta_element = meta_element
22
+
23
+
24
+ class MetaElement(ABC): # noqa: B024 - ABSTRACT in IlisMeta16
25
+ def __init__(
26
+ self,
27
+ tid: str,
28
+ name: str,
29
+ documentation: list[DocText] | None = None,
30
+ meta_attributes: list[MetaAttribute] | None = None,
31
+ element_in_package: Optional["Package"] | None = None,
32
+ ):
33
+ self.tid = tid
34
+ self.name = name
35
+ self.documentation = documentation or []
36
+ self.meta_attributes = meta_attributes or []
37
+ # CONTSTRAINT
38
+ if element_in_package:
39
+ assert not isinstance(element_in_package, Model)
40
+ self.element_in_package = element_in_package
41
+
42
+
43
+ class ExtendableMe(MetaElement, ABC):
44
+ def __init__(
45
+ self,
46
+ tid: str,
47
+ name: str,
48
+ abstract: bool,
49
+ final: bool,
50
+ generic: bool | None = None,
51
+ documentation: list[DocText] | None = None,
52
+ meta_attributes: list[MetaAttribute] | None = None,
53
+ element_in_package: Optional["Package"] | None = None,
54
+ sub: list["ExtendableMe"] | None = None,
55
+ super_class: Optional["ExtendableMe"] = None,
56
+ ):
57
+ super().__init__(
58
+ tid,
59
+ name,
60
+ documentation=documentation,
61
+ meta_attributes=meta_attributes,
62
+ element_in_package=element_in_package,
63
+ )
64
+ self.abstract = abstract
65
+ self.final = final
66
+ self.generic = generic
67
+ self.sub = sub or []
68
+ self.super = super_class
69
+
70
+
71
+ # Models definition of ilisMeta16.ili
72
+
73
+
74
+ class Package(MetaElement, ABC):
75
+ def __init__(
76
+ self,
77
+ tid: str,
78
+ name: str,
79
+ documentation: list[DocText] | None = None,
80
+ meta_attributes: list[MetaAttribute] | None = None,
81
+ element_in_package: Optional["Package"] | None = None,
82
+ imports: list["Package"] | None | None = None,
83
+ ):
84
+ super().__init__(
85
+ tid,
86
+ name,
87
+ documentation=documentation,
88
+ meta_attributes=meta_attributes,
89
+ element_in_package=element_in_package,
90
+ )
91
+ self.imports = imports or []
92
+
93
+
94
+ class TidKind(Enum):
95
+ TID_I16 = "TID_I16"
96
+ TID_I32 = "TID_I32"
97
+ TID_ANY = "TID_ANY"
98
+ TID_EXPLANATION = "TID_EXPLANATION"
99
+
100
+
101
+ class Ili1Format:
102
+ """
103
+ Structure
104
+ """
105
+
106
+ def __init__(
107
+ self,
108
+ is_free: bool,
109
+ blank_code: int,
110
+ undefined_code: int,
111
+ continue_code: int,
112
+ font: str,
113
+ tid_kind: TidKind,
114
+ line_size: int | None = None,
115
+ tid_size: int | None = None,
116
+ tid_explantation: str | None = None,
117
+ ):
118
+ Code(blank_code)
119
+ Code(undefined_code)
120
+ Code(continue_code)
121
+ if line_size is not None:
122
+ LengthRange(line_size)
123
+ if tid_size is not None:
124
+ LengthRange(tid_size)
125
+ self.is_free = is_free
126
+ self.blank_code = blank_code
127
+ self.undefined_code = undefined_code
128
+ self.continue_code = continue_code
129
+ self.font = font
130
+ self.tid_kind = tid_kind
131
+ self.line_size = line_size
132
+ self.tid_size = tid_size
133
+ self.tid_explantation = tid_explantation
134
+
135
+
136
+ class ModelKind(Enum):
137
+ NORMALM = "NormalM"
138
+ TYPEM = "TypeM"
139
+ REFSYSTEMM = "RefSystemM"
140
+ SYMBOLOGYM = "SymbologyM"
141
+
142
+
143
+ class Model(Package):
144
+ """
145
+ Represents an INTERLIS Model
146
+ """
147
+
148
+ def __init__(
149
+ self,
150
+ tid: str,
151
+ name: str,
152
+ ili_version: str,
153
+ kind: ModelKind,
154
+ documentation: list[DocText] | None = None,
155
+ meta_attributes: list[MetaAttribute] | None = None,
156
+ element_in_package: Optional["Package"] | None = None,
157
+ contracted: bool | None = None,
158
+ language: str | None = None,
159
+ at: str | None = None,
160
+ version: str | None = None,
161
+ no_incremental_transfer: bool | None = None,
162
+ char_set_iana_name: str | None = None,
163
+ xmlns: str | None = None,
164
+ ili1_transfer_name: str | None = None,
165
+ ili1_format: Ili1Format | None = None,
166
+ ):
167
+ if language is not None:
168
+ LanguageCode(language)
169
+ super().__init__(
170
+ tid,
171
+ name,
172
+ documentation=documentation,
173
+ meta_attributes=meta_attributes,
174
+ element_in_package=element_in_package,
175
+ )
176
+ self.ili_version = ili_version
177
+ self.kind = kind
178
+ self.contracted = contracted
179
+ self.language = language
180
+ self.at = at
181
+ self.version = version
182
+ self.no_incremental_transfer = no_incremental_transfer
183
+ self.char_set_iana_name = char_set_iana_name
184
+ self.xmlns = xmlns
185
+ self.ili1_transfer = ili1_transfer_name
186
+ self.ili1_format = ili1_format
187
+
188
+
189
+ class SubModel(Package):
190
+ """
191
+ Represents an INTERLIS Topic
192
+ """
193
+
194
+
195
+ class Type(ExtendableMe, ABC):
196
+ pass
197
+
198
+
199
+ class Expression(ABC): # noqa: B024 - ABSTRACT in IlisMeta16
200
+ pass
201
+
202
+
203
+ class Multiplicity:
204
+ def __init__(self, minimum: int, maximum: int | None = None):
205
+ MultRange(minimum)
206
+ if maximum is not None:
207
+ MultRange(maximum)
208
+ self.minimum = minimum
209
+ self.maximum = maximum
210
+
211
+
212
+ class Constraint(MetaElement, ABC):
213
+ pass
214
+
215
+
216
+ class DomainType(Type, ABC):
217
+ def __init__(
218
+ self,
219
+ tid: str,
220
+ name: str,
221
+ abstract: bool,
222
+ final: bool,
223
+ mandatory: bool,
224
+ generic: bool | None = None,
225
+ documentation: list[DocText] | None = None,
226
+ meta_attributes: list[MetaAttribute] | None = None,
227
+ element_in_package: Package | None | None = None,
228
+ sub: list[ExtendableMe] | None = None,
229
+ super_class: ExtendableMe | None = None,
230
+ constraints: list[Constraint] | None = None,
231
+ ):
232
+ super().__init__(
233
+ tid,
234
+ name,
235
+ abstract,
236
+ final,
237
+ generic,
238
+ documentation=documentation,
239
+ meta_attributes=meta_attributes,
240
+ element_in_package=element_in_package,
241
+ sub=sub,
242
+ super_class=super_class,
243
+ )
244
+ self.mandatory = mandatory
245
+ # association DomainConstraint
246
+ self.constraints = constraints or []
247
+
248
+
249
+ # Classes definition of ilisMeta16.ili
250
+
251
+
252
+ class ClassKind(Enum):
253
+ STRUCTURE = "Structure"
254
+ CLASS = "Class"
255
+ VIEW = "View"
256
+ ASSOCIATION = "Association"
257
+
258
+
259
+ class Class(Type):
260
+ def __init__(
261
+ self,
262
+ kind: ClassKind,
263
+ embedded_role_transfer: bool,
264
+ attributes: list["AttrOrParam"] | None = None,
265
+ parameters: list["AttrOrParam"] | None = None,
266
+ multiplicity: Multiplicity | None = None,
267
+ ili1_optional_table: bool | None = None,
268
+ constraints: list[Constraint] | None = None,
269
+ ):
270
+ self.kind = kind
271
+ self.embedded_role_transfer = embedded_role_transfer
272
+ self.attributes = attributes or []
273
+ self.parameters = parameters or []
274
+ # enforce ilismeta16
275
+ if self.kind == ClassKind.ASSOCIATION:
276
+ assert multiplicity is not None
277
+ self.multiplicity = multiplicity
278
+ self.ili1_optional_table = ili1_optional_table
279
+ self.constraints = constraints or []
280
+
281
+
282
+ class SubdivisionKind(Enum):
283
+ NOSUBDIV = "NoSubDiv"
284
+ SUBDIV = "SubDiv"
285
+ CONTSUBDIV = "ContSubDiv"
286
+
287
+
288
+ class AttrOrParam(ExtendableMe):
289
+ def __init__(
290
+ self,
291
+ tid: str,
292
+ name: str,
293
+ abstract: bool,
294
+ final: bool,
295
+ subdivision_kind: SubdivisionKind,
296
+ attr_type: Type,
297
+ generic: bool | None = None,
298
+ documentation: list[DocText] | None = None,
299
+ meta_attributes: list[MetaAttribute] | None = None,
300
+ sub: list["ExtendableMe"] | None = None,
301
+ super_class: Optional["ExtendableMe"] = None,
302
+ transient: bool | None = None,
303
+ derivates: list[Expression] | None = None,
304
+ local_type: list[Type] | None = None,
305
+ ):
306
+ super().__init__(
307
+ tid,
308
+ name,
309
+ abstract,
310
+ final,
311
+ generic,
312
+ documentation=documentation,
313
+ meta_attributes=meta_attributes,
314
+ sub=sub,
315
+ super_class=super_class,
316
+ )
317
+ self.subdivision_kind = subdivision_kind
318
+ self.transient = transient
319
+ self.derivates = derivates or []
320
+ self.local_type = local_type or []
321
+ self.type = attr_type
322
+
323
+
324
+ # Types related to other types of ilisMeta16.ili
325
+
326
+
327
+ class TypeRelatedType(DomainType, ABC):
328
+ def __init__(
329
+ self,
330
+ tid: str,
331
+ name: str,
332
+ abstract: bool,
333
+ final: bool,
334
+ mandatory: bool,
335
+ base_type: Type,
336
+ generic: bool | None = None,
337
+ documentation: list[DocText] | None = None,
338
+ meta_attributes: list[MetaAttribute] | None = None,
339
+ element_in_package: Package | None | None = None,
340
+ sub: list[ExtendableMe] | None = None,
341
+ super_class: ExtendableMe | None = None,
342
+ type_restrictions: list[Type] | None = None,
343
+ ):
344
+ super().__init__(
345
+ tid,
346
+ name,
347
+ abstract,
348
+ final,
349
+ mandatory,
350
+ generic=generic,
351
+ documentation=documentation,
352
+ meta_attributes=meta_attributes,
353
+ element_in_package=element_in_package,
354
+ sub=sub,
355
+ super_class=super_class,
356
+ )
357
+ self.base_type = base_type
358
+ # TODO: How to implement external reference? aka what does that mean actually in this
359
+ # context? Just, that it can be from another model?
360
+ self.type_restrictions = type_restrictions or []
361
+
362
+
363
+ # Bag type of ilisMeta16.ili
364
+
365
+
366
+ class MultiValue(TypeRelatedType):
367
+ def __init__(
368
+ self,
369
+ tid: str,
370
+ name: str,
371
+ abstract: bool,
372
+ final: bool,
373
+ mandatory: bool,
374
+ base_type: Type,
375
+ ordered: bool,
376
+ generic: bool | None = None,
377
+ documentation: list[DocText] | None = None,
378
+ meta_attributes: list[MetaAttribute] | None = None,
379
+ element_in_package: Package | None | None = None,
380
+ sub: list[ExtendableMe] | None = None,
381
+ super_class: ExtendableMe | None = None,
382
+ type_restrictions: list[Type] | None = None,
383
+ multiplicity: Multiplicity | None = None,
384
+ ):
385
+ super().__init__(
386
+ tid,
387
+ name,
388
+ abstract,
389
+ final,
390
+ mandatory,
391
+ base_type,
392
+ generic=generic,
393
+ documentation=documentation,
394
+ meta_attributes=meta_attributes,
395
+ element_in_package=element_in_package,
396
+ sub=sub,
397
+ super_class=super_class,
398
+ type_restrictions=type_restrictions,
399
+ )
400
+ self.ordered = ordered
401
+ self.multiplicity = multiplicity
@@ -0,0 +1,31 @@
1
+ def Code(value: int):
2
+ """
3
+ Enforces the IlisMeta16.ModelData.Code Domain definition in the ilismeta16 model.
4
+
5
+ Raises:
6
+ AssertionError when value does not match rules.
7
+ """
8
+ assert isinstance(value, int)
9
+ assert 0 <= value <= 255
10
+
11
+
12
+ def MultRange(value: int):
13
+ """
14
+ Enforces the IlisMeta16.ModelData.MultRange Domain definition in the ilismeta16 model.
15
+
16
+ Raises:
17
+ AssertionError when value does not match rules.
18
+ """
19
+ assert isinstance(value, int)
20
+ assert 0 <= value <= 2147483647
21
+
22
+
23
+ def LengthRange(value: int):
24
+ """
25
+ Enforces the IlisMeta16.ModelData.LengthRange Domain definition in the ilismeta16 model.
26
+
27
+ Raises:
28
+ AssertionError when value does not match rules.
29
+ """
30
+ assert isinstance(value, int)
31
+ assert 1 <= value <= 2147483647
@@ -0,0 +1,94 @@
1
+ from enum import Enum
2
+
3
+ from ili2py.mappers.internal.ilismeta16.model_data.definitions import (
4
+ DocText,
5
+ DomainType,
6
+ ExtendableMe,
7
+ MetaAttribute,
8
+ Package,
9
+ )
10
+ from ili2py.mappers.internal.ilismeta16.model_data.domain import LengthRange
11
+ from ili2py.mappers.internal.ilismeta16.model_data.units import Unit
12
+
13
+
14
+ class TextTypeKind(Enum):
15
+ MTEXT = "MText"
16
+ TEXT = "Text"
17
+ NAME = "Name"
18
+ URI = "URI"
19
+
20
+
21
+ class TextType(DomainType):
22
+ def __init__(
23
+ self,
24
+ tid: str,
25
+ name: str,
26
+ abstract: bool,
27
+ final: bool,
28
+ mandatory: bool,
29
+ kind: TextTypeKind,
30
+ generic: bool | None = None,
31
+ documentation: list[DocText] | None = None,
32
+ meta_attributes: list[MetaAttribute] | None = None,
33
+ element_in_package: Package | None | None = None,
34
+ sub: list[ExtendableMe] | None = None,
35
+ super_class: ExtendableMe | None = None,
36
+ max_length: int | None = None,
37
+ ):
38
+ if max_length is not None:
39
+ LengthRange(max_length)
40
+ super().__init__(
41
+ tid,
42
+ name,
43
+ abstract,
44
+ final,
45
+ mandatory,
46
+ generic,
47
+ documentation=documentation,
48
+ meta_attributes=meta_attributes,
49
+ element_in_package=element_in_package,
50
+ sub=sub,
51
+ super_class=super_class,
52
+ )
53
+ self.kind = kind
54
+ self.max_length = max_length
55
+
56
+
57
+ class NumType(DomainType):
58
+ def __init__(
59
+ self,
60
+ tid: str,
61
+ name: str,
62
+ abstract: bool,
63
+ final: bool,
64
+ mandatory: bool,
65
+ generic: bool | None = None,
66
+ documentation: list[DocText] | None = None,
67
+ meta_attributes: list[MetaAttribute] | None = None,
68
+ element_in_package: Package | None | None = None,
69
+ sub: list[ExtendableMe] | None = None,
70
+ super_class: ExtendableMe | None = None,
71
+ min: str | None = None,
72
+ max: str | None = None,
73
+ circular: bool | None = None,
74
+ clockwise: bool | None = None,
75
+ unit: Unit | None | None = None,
76
+ ):
77
+ super().__init__(
78
+ tid,
79
+ name,
80
+ abstract,
81
+ final,
82
+ mandatory,
83
+ generic,
84
+ documentation=documentation,
85
+ meta_attributes=meta_attributes,
86
+ element_in_package=element_in_package,
87
+ sub=sub,
88
+ super_class=super_class,
89
+ )
90
+ self.min = min
91
+ self.max = max
92
+ self.circular = circular
93
+ self.clockwise = clockwise
94
+ self.unit = unit
@@ -0,0 +1,49 @@
1
+ from enum import Enum
2
+ from typing import Optional
3
+
4
+ from ili2py.mappers.internal.ilismeta16.model_data.definitions import (
5
+ DocText,
6
+ Expression,
7
+ ExtendableMe,
8
+ MetaAttribute,
9
+ )
10
+
11
+
12
+ class UnitKind(Enum):
13
+ BASEU = "BaseU"
14
+ DERIVEDU = "DerivedU"
15
+ COMPOSEDU = "ComposedU"
16
+
17
+
18
+ class Unit(ExtendableMe):
19
+ def __init__(
20
+ self,
21
+ tid: str,
22
+ name: str,
23
+ abstract: bool,
24
+ final: bool,
25
+ kind: UnitKind,
26
+ generic: bool | None = None,
27
+ documentation: list[DocText] | None = None,
28
+ meta_attributes: list[MetaAttribute] | None = None,
29
+ sub: list["ExtendableMe"] | None = None,
30
+ super_class: Optional["ExtendableMe"] = None,
31
+ definition: Expression | None = None,
32
+ ):
33
+ super().__init__(
34
+ tid,
35
+ name,
36
+ abstract,
37
+ final,
38
+ generic,
39
+ documentation=documentation,
40
+ meta_attributes=meta_attributes,
41
+ sub=sub,
42
+ super_class=super_class,
43
+ )
44
+ self.kind = kind
45
+ self.definition = definition
46
+ self.constraint()
47
+
48
+ def constraint(self):
49
+ assert self.kind != UnitKind.BASEU and self.definition is not None
ili2py/py.typed ADDED
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,38 @@
1
+ from typing import IO, AnyStr
2
+
3
+ from xsdata.formats.dataclass.parsers import XmlParser
4
+ from xsdata.formats.dataclass.parsers.config import ParserConfig
5
+
6
+ from ili2py.interfaces.interlis.interlis_23 import TRANSFER
7
+ from ili2py.interfaces.interlis.interlis_23.generator import DataClassGenerator
8
+ from ili2py.interfaces.interlis.interlis_24.ilismeta16 import ImdTransfer
9
+
10
+
11
+ class Reader:
12
+ def __init__(
13
+ self,
14
+ meta_model: ImdTransfer,
15
+ fail_on_unknown_properties: bool = False,
16
+ namespace_map: dict | None = None,
17
+ ):
18
+ self.parser = XmlParser()
19
+ self.parser.config = ParserConfig()
20
+ self.parser.config.fail_on_unknown_properties = fail_on_unknown_properties
21
+ self.namespace_map = namespace_map or {}
22
+ self.parser.ns_map = self.namespace_map
23
+ self.meta_model = meta_model
24
+
25
+ def read(self, input_xtf: str | IO[AnyStr]):
26
+ """
27
+ Parses an XTF XML file into the dataclass objects for further usage.
28
+
29
+ Args:
30
+ input_xtf: The path or the file object to read the imd16 from
31
+ """
32
+ # we preparse the XTF to find out what model we are handling
33
+ pre_xtf = self.parser.parse(input_xtf, TRANSFER)
34
+ xtf_data = {}
35
+ for model in pre_xtf.HEADERSECTION.MODELS:
36
+ generated_dataclasses = DataClassGenerator(self.meta_model).generate(model.NAME)
37
+ xtf_data[model.NAME] = self.parser.parse(input_xtf, generated_dataclasses)
38
+ return xtf_data
File without changes
File without changes
@@ -0,0 +1,40 @@
1
+ from abc import ABC
2
+ from typing import IO, AnyStr, ClassVar
3
+
4
+ from xsdata.formats.dataclass.parsers import XmlParser
5
+ from xsdata.formats.dataclass.parsers.config import ParserConfig
6
+
7
+ from ili2py.interfaces.interlis.interlis_24.ilismeta16 import ImdTransfer
8
+
9
+
10
+ class Reader(ABC): # noqa: B024 - subclasses set _reader_class
11
+ _reader_class: ClassVar[type[ImdTransfer]]
12
+
13
+ def __init__(
14
+ self,
15
+ fail_on_unknown_properties: bool = False,
16
+ fail_on_unknown_attributes: bool = False,
17
+ namespace_map: dict | None = None,
18
+ ):
19
+ self.parser_config = ParserConfig(
20
+ fail_on_unknown_properties=fail_on_unknown_properties,
21
+ fail_on_unknown_attributes=fail_on_unknown_attributes,
22
+ )
23
+ self.parser = XmlParser(self.parser_config)
24
+ self.namespace_map = namespace_map or {}
25
+ self.parser.ns_map = self.namespace_map
26
+
27
+ def read(self, input_xtf: str | IO[AnyStr] | bytes) -> ImdTransfer:
28
+ """
29
+ Parses an IMD16 XML file into the dataclass objects for further usage.
30
+
31
+ Args:
32
+ input_xtf: The path or the file object to read the imd16 from
33
+ Returns:
34
+ The tree of IMD16 definitions.
35
+ """
36
+ return self.parser.parse(input_xtf, self._reader_class)
37
+
38
+
39
+ class Imd16Reader(Reader):
40
+ _reader_class = ImdTransfer