PySimultan 0.6.0.8__tar.gz → 0.6.1__tar.gz

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 (219) hide show
  1. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/PKG-INFO +1 -1
  2. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/CHANGELOG.md +2 -2
  3. pysimultan-0.6.1/src/PySimultan2/__about__.py +1 -0
  4. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/data_model.py +103 -26
  5. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/default_types.py +17 -0
  6. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/files.py +10 -5
  7. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/utils.py +1 -2
  8. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/test_directory_and_files.py +11 -1
  9. pysimultan-0.6.0.8/src/PySimultan2/__about__.py +0 -1
  10. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Data/Assets/__init__.pyi +0 -616
  11. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Data/Components/__init__.pyi +0 -2538
  12. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Data/FlowNetworks/__init__.pyi +0 -499
  13. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Data/Geometry/__init__.pyi +0 -2219
  14. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Data/MultiValues/__init__.pyi +0 -682
  15. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Data/SimMath/__init__.pyi +0 -1654
  16. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Data/SimNetworks/__init__.pyi +0 -442
  17. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Data/SitePlanner/__init__.pyi +0 -193
  18. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Data/Taxonomy/__init__.pyi +0 -367
  19. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Data/Users/__init__.pyi +0 -116
  20. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Data/ValueMappings/__init__.pyi +0 -212
  21. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Data/__init__.pyi +0 -232
  22. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/DataMapping/__init__.pyi +0 -916
  23. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Excel/__init__.pyi +0 -15
  24. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Exceptions/__init__.pyi +0 -268
  25. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Exchange/SimNetworkConnectors/__init__.pyi +0 -32
  26. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Exchange/__init__.pyi +0 -116
  27. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Projects/ManagedFiles/__init__.pyi +0 -433
  28. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Projects/__init__.pyi +0 -435
  29. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Serializer/CODXF/__init__.pyi +0 -103
  30. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Serializer/CSV/__init__.pyi +0 -122
  31. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Serializer/DXF/__init__.pyi +0 -1335
  32. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Serializer/Geometry/__init__.pyi +0 -48
  33. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Serializer/JSON/__init__.pyi +0 -562
  34. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Serializer/METADXF/__init__.pyi +0 -11
  35. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Serializer/PADXF/__init__.pyi +0 -21
  36. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Serializer/PPATH/__init__.pyi +0 -11
  37. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Serializer/Projects/__init__.pyi +0 -112
  38. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Serializer/SIMLINKS/__init__.pyi +0 -5
  39. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Serializer/SPDXF/__init__.pyi +0 -13
  40. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Serializer/SimGeo/__init__.pyi +0 -54
  41. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Serializer/TXDXF/__init__.pyi +0 -46
  42. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Serializer/XMI/__init__.pyi +0 -22
  43. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Serializer/__init__.pyi +0 -32
  44. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Utils/BackgroundWork/__init__.pyi +0 -43
  45. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Utils/Collections/__init__.pyi +0 -216
  46. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Utils/ElevationProvider/__init__.pyi +0 -66
  47. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Utils/Files/__init__.pyi +0 -48
  48. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Utils/Randomize/__init__.pyi +0 -11
  49. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Utils/Streams/__init__.pyi +0 -59
  50. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Utils/UndoRedo/__init__.pyi +0 -133
  51. pysimultan-0.6.0.8/src/PySimultan2/typings/SIMULTAN/Utils/__init__.pyi +0 -570
  52. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Buffers/Binary/__init__.pyi +0 -248
  53. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Buffers/Text/__init__.pyi +0 -91
  54. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Buffers/__init__.pyi +0 -192
  55. pysimultan-0.6.0.8/src/PySimultan2/typings/System/CodeDom/Compiler/__init__.pyi +0 -137
  56. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Collections/Concurrent/__init__.pyi +0 -47
  57. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Collections/Generic/__init__.pyi +0 -1293
  58. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Collections/ObjectModel/__init__.pyi +0 -166
  59. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Collections/Specialized/__init__.pyi +0 -82
  60. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Collections/__init__.pyi +0 -403
  61. pysimultan-0.6.0.8/src/PySimultan2/typings/System/ComponentModel/__init__.pyi +0 -582
  62. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Configuration/Assemblies/__init__.pyi +0 -30
  63. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Diagnostics/CodeAnalysis/__init__.pyi +0 -315
  64. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Diagnostics/Contracts/__init__.pyi +0 -297
  65. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Diagnostics/SymbolStore/__init__.pyi +0 -9
  66. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Diagnostics/Tracing/__init__.pyi +0 -641
  67. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Diagnostics/__init__.pyi +0 -1101
  68. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Globalization/__init__.pyi +0 -1675
  69. pysimultan-0.6.0.8/src/PySimultan2/typings/System/IO/Enumeration/__init__.pyi +0 -125
  70. pysimultan-0.6.0.8/src/PySimultan2/typings/System/IO/__init__.pyi +0 -2747
  71. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Linq/Expressions/__init__.pyi +0 -1815
  72. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Net/__init__.pyi +0 -81
  73. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Numerics/__init__.pyi +0 -2853
  74. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Reflection/Emit/__init__.pyi +0 -1945
  75. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Reflection/Metadata/__init__.pyi +0 -24
  76. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Reflection/__init__.pyi +0 -2724
  77. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Resources/__init__.pyi +0 -205
  78. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Runtime/CompilerServices/__init__.pyi +0 -1926
  79. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Runtime/ConstrainedExecution/__init__.pyi +0 -49
  80. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Runtime/ExceptionServices/__init__.pyi +0 -34
  81. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Runtime/InteropServices/ComTypes/__init__.pyi +0 -758
  82. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Runtime/InteropServices/Marshalling/__init__.pyi +0 -461
  83. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Runtime/InteropServices/ObjectiveC/__init__.pyi +0 -48
  84. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Runtime/InteropServices/__init__.pyi +0 -2632
  85. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Runtime/Intrinsics/Arm/__init__.pyi +0 -4757
  86. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Runtime/Intrinsics/Wasm/__init__.pyi +0 -844
  87. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Runtime/Intrinsics/X86/__init__.pyi +0 -5642
  88. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Runtime/Intrinsics/__init__.pyi +0 -4504
  89. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Runtime/Loader/__init__.pyi +0 -63
  90. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Runtime/Remoting/__init__.pyi +0 -7
  91. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Runtime/Serialization/__init__.pyi +0 -269
  92. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Runtime/Versioning/__init__.pyi +0 -200
  93. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Runtime/__init__.pyi +0 -141
  94. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Security/Cryptography/__init__.pyi +0 -39
  95. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Security/Permissions/__init__.pyi +0 -163
  96. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Security/Principal/__init__.pyi +0 -45
  97. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Security/__init__.pyi +0 -347
  98. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Text/Unicode/__init__.pyi +0 -62
  99. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Text/__init__.pyi +0 -1590
  100. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Threading/Tasks/Sources/__init__.pyi +0 -76
  101. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Threading/Tasks/__init__.pyi +0 -1403
  102. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Threading/__init__.pyi +0 -1788
  103. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Xml/Schema/__init__.pyi +0 -1255
  104. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Xml/Serialization/__init__.pyi +0 -16
  105. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Xml/XPath/__init__.pyi +0 -474
  106. pysimultan-0.6.0.8/src/PySimultan2/typings/System/Xml/__init__.pyi +0 -2410
  107. pysimultan-0.6.0.8/src/PySimultan2/typings/System/__init__.pyi +0 -17821
  108. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/.gitignore +0 -0
  109. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/LICENSE.txt +0 -0
  110. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/README.md +0 -0
  111. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/pyproject.toml +0 -0
  112. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/__init__.py +0 -0
  113. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/geometry/__init__.py +0 -0
  114. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/geometry/geometry_base.py +0 -0
  115. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/geometry/utils.py +0 -0
  116. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/multi_values.py +0 -0
  117. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/object_mapper.py +0 -0
  118. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/AssimpNet.dll +0 -0
  119. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/AvalonDock.dll +0 -0
  120. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/BruTile.dll +0 -0
  121. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/ClosedXML.dll +0 -0
  122. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/ComponentBuilder.dll +0 -0
  123. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/ComponentBuilder.dll.config +0 -0
  124. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/ComponentBuilder.runtimeconfig.json +0 -0
  125. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/ComponentBuilder.xml +0 -0
  126. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/ControlzEx.dll +0 -0
  127. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/Cyotek.Drawing.BitmapFont.dll +0 -0
  128. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/DocumentFormat.OpenXml.dll +0 -0
  129. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/DotSpatial.Projections.dll +0 -0
  130. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/ExcelNumberFormat.dll +0 -0
  131. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/Fluent.dll +0 -0
  132. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/HelixToolkit.Core.Wpf.dll +0 -0
  133. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll +0 -0
  134. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.dll +0 -0
  135. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/HelixToolkit.dll +0 -0
  136. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/MathNet.Numerics.dll +0 -0
  137. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/Microsoft.AspNetCore.Authorization.dll +0 -0
  138. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll +0 -0
  139. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
  140. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
  141. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll +0 -0
  142. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/Microsoft.Extensions.Primitives.dll +0 -0
  143. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.Shell.dll +0 -0
  144. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll +0 -0
  145. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.dll +0 -0
  146. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/Newtonsoft.Json.Bson.dll +0 -0
  147. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/Newtonsoft.Json.dll +0 -0
  148. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/Python.Runtime.dll +0 -0
  149. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/SIMULTAN.Lang.dll +0 -0
  150. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/SIMULTAN.Lang.xml +0 -0
  151. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/SIMULTAN.UI.dll +0 -0
  152. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/SIMULTAN.UI.xml +0 -0
  153. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/SIMULTAN.dll +0 -0
  154. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/SIMULTAN.xml +0 -0
  155. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/SharpDX.D3DCompiler.dll +0 -0
  156. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/SharpDX.DXGI.dll +0 -0
  157. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/SharpDX.Direct2D1.dll +0 -0
  158. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/SharpDX.Direct3D11.dll +0 -0
  159. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/SharpDX.Direct3D9.dll +0 -0
  160. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/SharpDX.Mathematics.dll +0 -0
  161. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/SharpDX.dll +0 -0
  162. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/Sprache.Calc.dll +0 -0
  163. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/Sprache.dll +0 -0
  164. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/System.Collections.Immutable.dll +0 -0
  165. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/System.Data.OleDb.dll +0 -0
  166. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/System.Net.Http.Formatting.dll +0 -0
  167. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/System.Reflection.Metadata.dll +0 -0
  168. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/System.Reflection.MetadataLoadContext.dll +0 -0
  169. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/XAMLMarkupExtensions.dll +0 -0
  170. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/__init__.py +0 -0
  171. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/assimp.dll +0 -0
  172. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/componentmanager.user +0 -0
  173. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/defaultsettings.xml +0 -0
  174. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/resources/setup.bat +0 -0
  175. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/simultan_object.py +0 -0
  176. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/taxonomy_maps.py +0 -0
  177. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/src/PySimultan2/type_setter_lookup.py +0 -0
  178. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/RoomAcoustics_V02.py +0 -0
  179. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/__init__.py +0 -0
  180. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/readme_examples/__init__.py +0 -0
  181. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/readme_examples/create_component.py +0 -0
  182. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/readme_examples/create_component_with_taxonomy_slot.py +0 -0
  183. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/readme_examples/create_referenced_component.py +0 -0
  184. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/readme_examples/create_taxonomies.py +0 -0
  185. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/readme_examples/resources/__init__.py +0 -0
  186. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/readme_examples/resources/empty_test_excel.xlsx +0 -0
  187. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/readme_examples/resources/template_example3.yml +0 -0
  188. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/readme_examples/resources/template_example4.yml +0 -0
  189. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/readme_examples/resources/template_example_create_typed_component.yml +0 -0
  190. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/readme_examples/resources/template_example_create_typed_component_with_slots.yml +0 -0
  191. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/readme_examples/resources/template_example_extend.yml +0 -0
  192. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/readme_examples/resources/template_example_update_references.yml +0 -0
  193. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/readme_examples/resources/template_reference_list.yml +0 -0
  194. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/resources/__init__.py +0 -0
  195. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/resources/new_test_file.txt +0 -0
  196. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/resources/new_test_file2.txt +0 -0
  197. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/test_calc_static_zone_temperature.py +0 -0
  198. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/test_calculate_steady_state_temperature.py +0 -0
  199. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/test_circular_references.py +0 -0
  200. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/test_create_geometry.py +0 -0
  201. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/test_default_component.py +0 -0
  202. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/test_files.py +0 -0
  203. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/test_files_load.py +0 -0
  204. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/test_load_geometry.py +0 -0
  205. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/test_load_multi_values.py +0 -0
  206. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/test_new_dll.py +0 -0
  207. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/test_new_project_creation.py +0 -0
  208. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/test_numeric_map.py +0 -0
  209. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/test_parameter_reference.py +0 -0
  210. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/test_pythonnet.py +0 -0
  211. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/test_register_class.py +0 -0
  212. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/test_register_decorator.py +0 -0
  213. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/test_set_attr_property.py +0 -0
  214. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/test_set_dictionary.py +0 -0
  215. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/test_set_properties.py +0 -0
  216. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/test_taxonomie_maps.py +0 -0
  217. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/test_taxonomies.py +0 -0
  218. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/test_ui.py +0 -0
  219. {pysimultan-0.6.0.8 → pysimultan-0.6.1}/tests/ui_minimal_example.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PySimultan
3
- Version: 0.6.0.8
3
+ Version: 0.6.1
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
@@ -1,5 +1,5 @@
1
- Version 0.6.0.7 (16.02.2024)
2
- - Fixed Asset creation and deletion bugs
1
+ Version 0.6.1 (24.02.2024)
2
+ - Bugfixes in default_types and File/Directory handling
3
3
 
4
4
  Version 0.6.0.3 (23.01.2024)
5
5
  - Added sub_classes and super_classes to SimultanObject
@@ -0,0 +1 @@
1
+ version = '0.6.1'
@@ -1,4 +1,5 @@
1
1
  import atexit
2
+ import pathlib
2
3
  import os
3
4
  import shutil
4
5
  from uuid import uuid4
@@ -528,6 +529,17 @@ class DataModel:
528
529
  if isinstance(target_dir, SystemFileInfo):
529
530
  target_dir = target_dir.FullPath
530
531
 
532
+ if target_dir.startswith(self.project.ProjectUnpackFolder.FullPath):
533
+ return self.project.AddEmptyResource(SystemFileInfo(os.path.join(target_dir, str(filename))))
534
+ else:
535
+ return self.project.AddEmptyResource(SystemFileInfo(os.path.join(
536
+ self.project.ProjectUnpackFolder.FullPath,
537
+ target_dir,
538
+ str(filename))
539
+ )
540
+ )
541
+
542
+
531
543
  return self.project.AddEmptyResource(FileInfo(
532
544
  os.path.join(target_dir, str(filename))
533
545
  )
@@ -595,6 +607,9 @@ class DataModel:
595
607
 
596
608
  if not act_filename.startswith(self.project.ProjectUnpackFolder.FullPath) and target_dir is None:
597
609
  target_dir_str = self.project.ProjectUnpackFolder.FullPath
610
+ elif act_filename.startswith(self.project.ProjectUnpackFolder.FullPath):
611
+ target_dir_str = ''
612
+
598
613
  elif target_dir is not None:
599
614
  if isinstance(target_dir, ResourceDirectoryEntry):
600
615
  target_dir_str = target_dir.CurrentFullPath
@@ -626,7 +641,7 @@ class DataModel:
626
641
  if target_dir is None:
627
642
  resource = self.project.CopyResourceAsContainedFileEntry(filename,
628
643
  self.project.ProjectUnpackFolder,
629
- '1')
644
+ '{0} ({1})')
630
645
  else:
631
646
  if isinstance(target_dir, str):
632
647
  target_dir = DirectoryInfo(target_dir)
@@ -685,40 +700,102 @@ class DataModel:
685
700
  self.get_file_infos.cache_clear()
686
701
  return success
687
702
 
703
+ def get_existing_resource_directory_entry(self,
704
+ full_path: str) -> ResourceDirectoryEntry:
705
+ return self.project_data_manager.AssetManager.GetResource(DirectoryInfo(full_path))
706
+
688
707
  def create_resource_directory(self,
689
708
  name: str,
690
- parent_directory: DirectoryInfo=None,
709
+ parent_directory: Union[DirectoryInfo, str, pathlib.Path]=None,
710
+ create_parents: bool = True,
691
711
  collision_name_format: str = '{0} ({1})') -> ResourceEntry:
692
712
 
693
- # check if directory already exists
694
713
  if parent_directory is None:
695
- full_path = os.path.join(self.project.ProjectUnpackFolder.FullPath, name)
714
+ if name.startswith(self.project.ProjectUnpackFolder.FullPath):
715
+ full_path = name
716
+ else:
717
+ full_path = os.path.join(self.project.ProjectUnpackFolder.FullPath, name)
696
718
  else:
697
- full_path = os.path.join(parent_directory.FullPath, name)
698
-
699
- def get_existing(full_file_path: str):
700
- new_directory = self.project_data_manager.AssetManager.GetResource(DirectoryInfo(full_path))
701
- if new_directory is None:
702
- res = self.project_data_manager.AssetManager.CreateResourceDirIn(os.path.basename(full_path),
703
- DirectoryInfo(
704
- os.path.dirname(
705
- full_path)),
706
- '0')
707
-
708
- new_directory = self.project_data_manager.AssetManager.GetResource(res.Item1)
709
- return new_directory
710
-
711
- if os.path.exists(full_path):
712
- new_directory = get_existing(full_path)
713
- return new_directory
719
+ if isinstance(parent_directory, str):
720
+ if not parent_directory.startswith(self.project.ProjectUnpackFolder.FullPath):
721
+ full_path = os.path.join(self.project.ProjectUnpackFolder.FullPath, parent_directory, name)
722
+ else:
723
+ full_path = parent_directory
724
+ elif isinstance(parent_directory, DirectoryInfo):
725
+ full_path = os.path.join(parent_directory.FullPath, name)
726
+ elif isinstance(parent_directory, pathlib.Path):
727
+ full_path = os.path.join(parent_directory, name)
728
+
729
+
730
+ existing_resource_directory = self.get_existing_resource_directory_entry(str(full_path))
731
+ if existing_resource_directory is not None:
732
+ return existing_resource_directory
733
+
734
+ if str(pathlib.Path(full_path).parents[0]) == self.project.ProjectUnpackFolder.FullPath:
735
+ # create directory in ProjectUnpackFolder
736
+ resource_directory_entry = self.get_existing_resource_directory_entry(full_path)
737
+ if resource_directory_entry is not None:
738
+ return resource_directory_entry
739
+ else:
740
+ new_resource_entry = self.project.CreateResourceDirIn(
741
+ str(
742
+ pathlib.Path(full_path).relative_to(pathlib.Path(self.project.ProjectUnpackFolder.FullPath))
743
+ ),
744
+ None,
745
+ collision_name_format)
746
+ if new_resource_entry not in self.project_data_manager.AssetManager.Resources:
747
+ self.project_data_manager.AssetManager.AddResourceEntry(new_resource_entry)
748
+ return new_resource_entry
749
+ else:
750
+ if parent_directory is None:
751
+ parent = None
752
+ for i in reversed(range(pathlib.Path(full_path).parents.__len__())):
753
+ parent = pathlib.Path(full_path).parents[i]
754
+ if str(parent) in self.project.ProjectUnpackFolder.FullPath:
755
+ continue
756
+ if not os.path.exists(parent):
757
+ if create_parents:
758
+ parent_directory = self.create_resource_directory(parent.name,
759
+ parent_directory=parent.parents[0],
760
+ create_parents=False)
761
+ else:
762
+ raise FileNotFoundError(f'Parent directory {parent} does not exist')
763
+ else:
764
+ parent_directory = self.get_existing_resource_directory_entry(str(parent))
714
765
 
715
766
  if parent_directory is None:
716
- new_directory = self.project.CreateResourceDirIn(name, None, collision_name_format)
717
- if parent_directory is not None:
718
- new_directory = self.project.CreateResourceDirIn(name, parent_directory, collision_name_format)
719
-
720
- return new_directory
767
+ new_resource_entry = self.project.CreateResourceDirIn(
768
+ str(
769
+ pathlib.Path(full_path).relative_to(pathlib.Path(self.project.ProjectUnpackFolder.FullPath))
770
+ ),
771
+ parent_directory,
772
+ collision_name_format)
773
+ self.project_data_manager.AssetManager.AddResourceEntry(new_resource_entry)
774
+ return new_resource_entry
775
+ else:
776
+ if isinstance(parent_directory, pathlib.Path):
777
+ target = str(pathlib.Path(full_path).relative_to(parent_directory))
778
+ parent_directory_target = DirectoryInfo(str(parent_directory))
779
+ elif isinstance(parent_directory, str):
780
+ target = str(pathlib.Path(full_path).relative_to(pathlib.Path(parent_directory)))
781
+ parent_directory_target = DirectoryInfo(parent_directory)
782
+ elif isinstance(parent_directory, DirectoryInfo):
783
+ target = str(pathlib.Path(full_path).relative_to(pathlib.Path(parent_directory.CurrentFullPath)))
784
+ parent_directory_target = parent_directory
785
+ elif isinstance(parent_directory, ResourceDirectoryEntry):
786
+ target = str(pathlib.Path(full_path).relative_to(pathlib.Path(parent_directory.CurrentFullPath)))
787
+ parent_directory_target = DirectoryInfo(parent_directory.CurrentFullPath)
721
788
 
789
+ else:
790
+ raise ValueError(f'Parent directory {parent_directory} not found')
791
+
792
+ new_resource_entry = self.project.CreateResourceDirIn(
793
+ target,
794
+ parent_directory_target,
795
+ collision_name_format)
796
+ if new_resource_entry.manager is None:
797
+ self.project_data_manager.AssetManager.AddResourceEntry(new_resource_entry)
798
+ return new_resource_entry
722
799
 
723
800
  def add_table(self, table: SimMultiValueBigTable):
724
801
  self.project_data_manager.ValueManager.Add(table)
@@ -686,5 +686,22 @@ class ComponentDictionary(SimultanObject):
686
686
  }
687
687
  }
688
688
 
689
+ def get_raw_attr(self, attr: Optional[str] = None, text_or_key: Optional[str] = None):
690
+ if attr is not None:
691
+ content = self._taxonomy_map.get_content_by_property_name(attr)
692
+ if content is None:
693
+ content = Content(text_or_key=f'__dict_key__{attr}',
694
+ property_name=attr,
695
+ type=None,
696
+ unit=None,
697
+ documentation=f'Property {attr} in ComponentDictionary',
698
+ component_policy=self.component_policy)
699
+ self._taxonomy_map.add_content(content)
700
+
701
+ return get_component_taxonomy_entry(self._wrapped_obj, content.text_or_key)
702
+
703
+ if text_or_key is not None:
704
+ return get_component_taxonomy_entry(self._wrapped_obj, text_or_key)
705
+
689
706
 
690
707
  component_dict_map = ComponentDictionary._taxonomy_map
@@ -301,12 +301,17 @@ class FileInfo(object, metaclass=MetaMock):
301
301
  data_model = kwargs.get('data_model', config.get_default_data_model())
302
302
 
303
303
  if target_dir is not None:
304
- full_path = os.path.join(target_dir.full_path, filename)
304
+ if isinstance(target_dir, DirectoryInfo):
305
+ full_path = os.path.join(target_dir.full_path, filename)
306
+ elif isinstance(target_dir, ResourceDirectoryEntry):
307
+ full_path = os.path.join(target_dir.CurrentFullPath, filename)
308
+ elif isinstance(target_dir, str):
309
+ full_path = os.path.join(target_dir, filename)
305
310
  else:
306
- full_path = os.path.join(data_model.project.ProjectUnpackFolder, filename)
307
-
308
-
309
-
311
+ if not filename.startswith(str(data_model.project.ProjectUnpackFolder)):
312
+ full_path = os.path.join(str(data_model.project.ProjectUnpackFolder), filename)
313
+ else:
314
+ full_path = filename
310
315
 
311
316
  if os.path.isfile(full_path):
312
317
  # check if resource entry exists
@@ -1375,7 +1375,7 @@ def set_property_to_dict(value: dict,
1375
1375
  return
1376
1376
 
1377
1377
  if component_idx is not None:
1378
- component = component._wrapped_obj.Components.Items[component_idx].Component
1378
+ sub_component = component._wrapped_obj.Components.Items[component_idx].Component
1379
1379
 
1380
1380
  if 'ComponentDictionary' in [x.Target.Key for x in component.Slots]:
1381
1381
  if not hasattr(component, '_object_mapper'):
@@ -1395,7 +1395,6 @@ def set_property_to_dict(value: dict,
1395
1395
  component_dict.update(value)
1396
1396
  return component_dict
1397
1397
  else:
1398
- component._data_model.remove_subcomponent(component)
1399
1398
  component._wrapped_obj.Components.RemoveItem(component_idx)
1400
1399
  component_idx = None
1401
1400
  if ref_component_idx is not None:
@@ -19,6 +19,11 @@ def test_files_and_directory_creation():
19
19
  new_directory_info = DirectoryInfo(path='directory_info_dir',
20
20
  data_model=new_data_model)
21
21
 
22
+
23
+ new_directory_info = DirectoryInfo(path='not_existing_dir/directory_to_create',
24
+ data_model=new_data_model)
25
+
26
+
22
27
  print(new_data_model.file_directories)
23
28
 
24
29
  print(new_directory_info.resource_entry)
@@ -148,7 +153,12 @@ def test_load_component_with_directory():
148
153
  mapper.clear()
149
154
 
150
155
 
156
+ def test_complex_file_and_directory_info():
157
+ pass
158
+
159
+
151
160
  if __name__ == '__main__':
152
- # test_files_and_directory_creation()
161
+ test_files_and_directory_creation()
162
+ test_complex_file_and_directory_info()
153
163
  test_component_with_directory()
154
164
  test_load_component_with_directory()
@@ -1 +0,0 @@
1
- version = '0.6.0.8'