PySimultan 0.5.9.1__tar.gz → 0.5.9.4__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (142) hide show
  1. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/.gitignore +1 -0
  2. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/PKG-INFO +4 -1
  3. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/README.md +3 -0
  4. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/CHANGELOG.md +3 -0
  5. pysimultan-0.5.9.4/src/PySimultan2/__about__.py +1 -0
  6. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/files.py +42 -2
  7. pysimultan-0.5.9.4/tests/resources/new_test_file.txt +1 -0
  8. pysimultan-0.5.9.4/tests/resources/new_test_file2.txt +1 -0
  9. pysimultan-0.5.9.1/src/PySimultan2/__about__.py +0 -1
  10. pysimultan-0.5.9.1/tests/readme_examples/resources/change_references_example.simultan +0 -0
  11. pysimultan-0.5.9.1/tests/readme_examples/resources/empty_project.simultan +0 -0
  12. pysimultan-0.5.9.1/tests/readme_examples/resources/example1.simultan +0 -0
  13. pysimultan-0.5.9.1/tests/readme_examples/resources/example2.simultan +0 -0
  14. pysimultan-0.5.9.1/tests/readme_examples/resources/example3.simultan +0 -0
  15. pysimultan-0.5.9.1/tests/readme_examples/resources/example4_reference_list.simultan +0 -0
  16. pysimultan-0.5.9.1/tests/readme_examples/resources/example_extend_1.simultan +0 -0
  17. pysimultan-0.5.9.1/tests/readme_examples/resources/list_test.simultan +0 -0
  18. pysimultan-0.5.9.1/tests/resources/U5.simultan +0 -0
  19. pysimultan-0.5.9.1/tests/resources/U5_1.simultan +0 -0
  20. pysimultan-0.5.9.1/tests/resources/U5_orig.simultan +0 -0
  21. pysimultan-0.5.9.1/tests/resources/new_geometry_test.simultan +0 -0
  22. pysimultan-0.5.9.1/tests/resources/new_test_file.txt +0 -1
  23. pysimultan-0.5.9.1/tests/resources/new_test_file2.txt +0 -1
  24. pysimultan-0.5.9.1/tests/resources/test_file_load.simultan +0 -0
  25. pysimultan-0.5.9.1/tests/resources/test_file_project.simultan +0 -0
  26. pysimultan-0.5.9.1/tests/resources/test_multi_value_big_table_load.simultan +0 -0
  27. pysimultan-0.5.9.1/tests/resources/test_parameter_reference_project.simultan +0 -0
  28. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/LICENSE.txt +0 -0
  29. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/pyproject.toml +0 -0
  30. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/__init__.py +0 -0
  31. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/data_model.py +0 -0
  32. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/default_types.py +0 -0
  33. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/geometry/__init__.py +0 -0
  34. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/geometry/geometry_base.py +0 -0
  35. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/geometry/utils.py +0 -0
  36. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/multi_values.py +0 -0
  37. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/object_mapper.py +0 -0
  38. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/AssimpNet.dll +0 -0
  39. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/AvalonDock.dll +0 -0
  40. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/BruTile.dll +0 -0
  41. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/ClosedXML.dll +0 -0
  42. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/ComponentBuilder.dll +0 -0
  43. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/ComponentBuilder.dll.config +0 -0
  44. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/ComponentBuilder.runtimeconfig.json +0 -0
  45. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/ComponentBuilder.xml +0 -0
  46. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/ControlzEx.dll +0 -0
  47. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/Cyotek.Drawing.BitmapFont.dll +0 -0
  48. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/DocumentFormat.OpenXml.dll +0 -0
  49. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/DotSpatial.Projections.dll +0 -0
  50. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/ExcelNumberFormat.dll +0 -0
  51. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/Fluent.dll +0 -0
  52. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/HelixToolkit.Core.Wpf.dll +0 -0
  53. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll +0 -0
  54. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.dll +0 -0
  55. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/HelixToolkit.dll +0 -0
  56. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/MathNet.Numerics.dll +0 -0
  57. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/Microsoft.AspNetCore.Authorization.dll +0 -0
  58. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll +0 -0
  59. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
  60. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
  61. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll +0 -0
  62. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/Microsoft.Extensions.Primitives.dll +0 -0
  63. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.Shell.dll +0 -0
  64. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll +0 -0
  65. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.dll +0 -0
  66. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/Newtonsoft.Json.Bson.dll +0 -0
  67. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/Newtonsoft.Json.dll +0 -0
  68. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll +0 -0
  69. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll.config +0 -0
  70. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll +0 -0
  71. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll.config +0 -0
  72. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/SIMULTAN.Lang.dll +0 -0
  73. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/SIMULTAN.Lang.xml +0 -0
  74. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/SIMULTAN.Plugins.dll +0 -0
  75. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/SIMULTAN.Plugins.xml +0 -0
  76. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/SIMULTAN.UI.dll +0 -0
  77. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/SIMULTAN.UI.xml +0 -0
  78. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/SIMULTAN.dll +0 -0
  79. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/SIMULTAN.xml +0 -0
  80. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/SharpDX.D3DCompiler.dll +0 -0
  81. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/SharpDX.DXGI.dll +0 -0
  82. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/SharpDX.Direct2D1.dll +0 -0
  83. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/SharpDX.Direct3D11.dll +0 -0
  84. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/SharpDX.Direct3D9.dll +0 -0
  85. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/SharpDX.Mathematics.dll +0 -0
  86. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/SharpDX.dll +0 -0
  87. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/Sprache.Calc.dll +0 -0
  88. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/Sprache.dll +0 -0
  89. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/System.Collections.Immutable.dll +0 -0
  90. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/System.Data.OleDb.dll +0 -0
  91. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/System.Net.Http.Formatting.dll +0 -0
  92. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/System.Reflection.Metadata.dll +0 -0
  93. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/System.Reflection.MetadataLoadContext.dll +0 -0
  94. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/XAMLMarkupExtensions.dll +0 -0
  95. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/__init__.py +0 -0
  96. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/assimp.dll +0 -0
  97. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/componentmanager.user +0 -0
  98. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/defaultsettings.xml +0 -0
  99. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/resources/setup.bat +0 -0
  100. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/simultan_object.py +0 -0
  101. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/taxonomy_maps.py +0 -0
  102. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/type_setter_lookup.py +0 -0
  103. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/src/PySimultan2/utils.py +0 -0
  104. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/__init__.py +0 -0
  105. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/readme_examples/__init__.py +0 -0
  106. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/readme_examples/create_component.py +0 -0
  107. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/readme_examples/create_component_with_taxonomy_slot.py +0 -0
  108. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/readme_examples/create_referenced_component.py +0 -0
  109. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/readme_examples/create_taxonomies.py +0 -0
  110. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/readme_examples/resources/__init__.py +0 -0
  111. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/readme_examples/resources/empty_test_excel.xlsx +0 -0
  112. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/readme_examples/resources/template_example3.yml +0 -0
  113. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/readme_examples/resources/template_example4.yml +0 -0
  114. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/readme_examples/resources/template_example_create_typed_component.yml +0 -0
  115. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/readme_examples/resources/template_example_create_typed_component_with_slots.yml +0 -0
  116. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/readme_examples/resources/template_example_extend.yml +0 -0
  117. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/readme_examples/resources/template_example_update_references.yml +0 -0
  118. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/readme_examples/resources/template_reference_list.yml +0 -0
  119. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/resources/__init__.py +0 -0
  120. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/test_calc_static_zone_temperature.py +0 -0
  121. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/test_calculate_steady_state_temperature.py +0 -0
  122. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/test_circular_references.py +0 -0
  123. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/test_create_geometry.py +0 -0
  124. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/test_directory_and_files.py +0 -0
  125. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/test_files.py +0 -0
  126. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/test_files_load.py +0 -0
  127. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/test_load_geometry.py +0 -0
  128. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/test_load_multi_values.py +0 -0
  129. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/test_new_dll.py +0 -0
  130. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/test_new_project_creation.py +0 -0
  131. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/test_numeric_map.py +0 -0
  132. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/test_parameter_reference.py +0 -0
  133. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/test_pythonnet.py +0 -0
  134. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/test_register_class.py +0 -0
  135. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/test_register_decorator.py +0 -0
  136. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/test_set_attr_property.py +0 -0
  137. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/test_set_dictionary.py +0 -0
  138. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/test_set_properties.py +0 -0
  139. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/test_taxonomie_maps.py +0 -0
  140. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/test_taxonomies.py +0 -0
  141. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/test_ui.py +0 -0
  142. {pysimultan-0.5.9.1 → pysimultan-0.5.9.4}/tests/ui_minimal_example.py +0 -0
@@ -15,6 +15,7 @@ build
15
15
  *.codxf
16
16
  *.grdxf
17
17
  ~*.simultan
18
+ *.simultan
18
19
  *.simultanbackup
19
20
  simultan_exception*
20
21
  /PySimultan2/tests/resources/~*
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PySimultan
3
- Version: 0.5.9.1
3
+ Version: 0.5.9.4
4
4
  Project-URL: Documentation, https://github.com/Bühler Maximilian/PySimultan2#readme
5
5
  Project-URL: Issues, https://github.com/Bühler Maximilian/PySimultan2/issues
6
6
  Project-URL: Source, https://github.com/Bühler Maximilian/PySimultan2
@@ -167,6 +167,9 @@ print(instances[0].param_1)
167
167
 
168
168
  # Change Log
169
169
 
170
+ ## [0.5.9.4] - 2024-12-31
171
+ - Fixed bug in DirectoryInfo where \_\_dir_helper_file__ was not found if already existing
172
+
170
173
  ## [0.5.8] - 2024-12-17
171
174
  - Added FileInfo.from_existing_file method to create FileInfo object from existing file in ProjectUnpackFolder
172
175
 
@@ -138,6 +138,9 @@ print(instances[0].param_1)
138
138
 
139
139
  # Change Log
140
140
 
141
+ ## [0.5.9.4] - 2024-12-31
142
+ - Fixed bug in DirectoryInfo where \_\_dir_helper_file__ was not found if already existing
143
+
141
144
  ## [0.5.8] - 2024-12-17
142
145
  - Added FileInfo.from_existing_file method to create FileInfo object from existing file in ProjectUnpackFolder
143
146
 
@@ -1,3 +1,6 @@
1
+ Version 0.5.9.4 (31.12.2024)
2
+ - Fixed bug in DirectoryInfo where __dir__helper_file__ was not found if already existing
3
+
1
4
  Version 0.5.7 (11.12.2024)
2
5
  - Added get_orientation_to_volume method to SimultanFace which returns the orientation of the face to the volume
3
6
 
@@ -0,0 +1 @@
1
+ version = '0.5.9.4'
@@ -666,14 +666,54 @@ class DirectoryInfo(object, metaclass=DirectoryInfoMetaMock):
666
666
  else:
667
667
  return None
668
668
 
669
- def add_sub_directory(self, name: str) -> DirectoryInfo:
670
- return DirectoryInfo(path=os.path.join(self.resource_entry.current_relative_path, name),
669
+ def add_sub_directory(self, dirname: str) -> DirectoryInfo:
670
+
671
+ existing = next((x for x in self.sub_directories if x.resource_entry.current_relative_path == dirname), None)
672
+ if existing is not None:
673
+ return existing
674
+
675
+ return DirectoryInfo(path=os.path.join(self.resource_entry.current_relative_path, dirname),
671
676
  data_model=self.data_model)
672
677
 
678
+ def get_sub_directory(self,
679
+ dirname: str,
680
+ create=False) -> Optional[DirectoryInfo]:
681
+ """
682
+ Get a sub directory by name.
683
+ :param dirname: directory name, relative to self.relative_path
684
+ :param create:
685
+ :return:
686
+ """
687
+
688
+ logger.debug(f'Getting sub directory in {self.relative_path}: {dirname}')
689
+ res = next((x for x in self.sub_directories if x.resource_entry.Name == dirname), None)
690
+ if not res and create:
691
+ logger.debug(f'Creating sub directory in {self.relative_path}: {dirname}')
692
+ res = self.add_sub_directory(dirname)
693
+
694
+ return res
695
+
696
+ def get_file(self, filename: str) -> Optional[FileInfo]:
697
+ resource = next((x for x in self.files if x.resource_entry.Name == filename), None)
698
+ if resource is not None:
699
+ return FileInfo(resource_entry=entry,
700
+ data_model=self.data_model)
701
+ else:
702
+ return None
703
+
673
704
  def add_file(self,
674
705
  filename: str,
675
706
  content: Optional[str] = None) -> FileInfo:
676
707
 
708
+ if Path(self.full_path).joinpath(filename).exists():
709
+ return FileInfo.from_existing_file(str(Path(self.full_path).joinpath(filename)), data_model=self.data_model)
710
+
711
+
712
+ if self.resource_entry.Children:
713
+ file = self.get_file(filename)
714
+ if file is not None:
715
+ return file
716
+
677
717
  if content is not None:
678
718
  return FileInfo.from_string(filename=filename,
679
719
  content=content,
@@ -0,0 +1 @@
1
+ This is the content of the file.
@@ -0,0 +1 @@
1
+ This is the content of the file 2.
@@ -1 +0,0 @@
1
- version = '0.5.9.1'
@@ -1 +0,0 @@
1
- This is the content of the file.
@@ -1 +0,0 @@
1
- This is the content of the file 2.
File without changes