PySimultan 0.5.7__tar.gz → 0.5.9__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {pysimultan-0.5.7 → pysimultan-0.5.9}/PKG-INFO +11 -3
- {pysimultan-0.5.7 → pysimultan-0.5.9}/README.md +7 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/CHANGELOG.md +3 -0
- pysimultan-0.5.9/src/PySimultan2/__about__.py +1 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/data_model.py +54 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/files.py +18 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/geometry/geometry_base.py +12 -0
- pysimultan-0.5.9/tests/resources/test_file_project.simultan +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/test_files.py +41 -2
- pysimultan-0.5.7/src/PySimultan2/__about__.py +0 -1
- pysimultan-0.5.7/tests/resources/test_file.yml +0 -1
- pysimultan-0.5.7/tests/resources/test_file_project.simultan +0 -0
- pysimultan-0.5.7/tests/resources/test_set_dictionary.simultan +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/.gitignore +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/LICENSE.txt +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/pyproject.toml +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/__init__.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/default_types.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/geometry/__init__.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/geometry/utils.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/multi_values.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/object_mapper.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/AssimpNet.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/AvalonDock.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/BruTile.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/ClosedXML.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/ComponentBuilder.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/ComponentBuilder.dll.config +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/ComponentBuilder.runtimeconfig.json +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/ComponentBuilder.xml +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/ControlzEx.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/Cyotek.Drawing.BitmapFont.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/DocumentFormat.OpenXml.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/DotSpatial.Projections.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/ExcelNumberFormat.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/Fluent.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/HelixToolkit.Core.Wpf.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/HelixToolkit.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/MathNet.Numerics.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/Microsoft.AspNetCore.Authorization.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/Microsoft.Extensions.Primitives.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.Shell.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/Newtonsoft.Json.Bson.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/Newtonsoft.Json.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll.config +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll.config +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/SIMULTAN.Lang.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/SIMULTAN.Lang.xml +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/SIMULTAN.Plugins.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/SIMULTAN.Plugins.xml +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/SIMULTAN.UI.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/SIMULTAN.UI.xml +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/SIMULTAN.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/SIMULTAN.xml +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/SharpDX.D3DCompiler.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/SharpDX.DXGI.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/SharpDX.Direct2D1.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/SharpDX.Direct3D11.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/SharpDX.Direct3D9.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/SharpDX.Mathematics.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/SharpDX.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/Sprache.Calc.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/Sprache.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/System.Collections.Immutable.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/System.Data.OleDb.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/System.Net.Http.Formatting.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/System.Reflection.Metadata.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/System.Reflection.MetadataLoadContext.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/XAMLMarkupExtensions.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/__init__.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/assimp.dll +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/componentmanager.user +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/defaultsettings.xml +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/setup.bat +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/simultan_object.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/taxonomy_maps.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/type_setter_lookup.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/utils.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/__init__.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/__init__.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/create_component.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/create_component_with_taxonomy_slot.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/create_referenced_component.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/create_taxonomies.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/resources/__init__.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/resources/change_references_example.simultan +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/resources/empty_project.simultan +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/resources/empty_test_excel.xlsx +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/resources/example1.simultan +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/resources/example2.simultan +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/resources/example3.simultan +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/resources/example4_reference_list.simultan +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/resources/example_extend_1.simultan +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/resources/list_test.simultan +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/resources/template_example3.yml +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/resources/template_example4.yml +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/resources/template_example_create_typed_component.yml +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/resources/template_example_create_typed_component_with_slots.yml +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/resources/template_example_extend.yml +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/resources/template_example_update_references.yml +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/resources/template_reference_list.yml +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/resources/U5.simultan +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/resources/U5_1.simultan +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/resources/U5_orig.simultan +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/resources/__init__.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/resources/new_geometry_test.simultan +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/resources/new_test_file.txt +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/resources/new_test_file2.txt +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/resources/test_file_load.simultan +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/resources/test_multi_value_big_table_load.simultan +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/resources/test_parameter_reference_project.simultan +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/test_calc_static_zone_temperature.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/test_calculate_steady_state_temperature.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/test_circular_references.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/test_create_geometry.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/test_directory_and_files.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/test_files_load.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/test_load_geometry.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/test_load_multi_values.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/test_new_dll.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/test_new_project_creation.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/test_numeric_map.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/test_parameter_reference.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/test_pythonnet.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/test_register_class.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/test_register_decorator.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/test_set_attr_property.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/test_set_dictionary.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/test_set_properties.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/test_taxonomie_maps.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/test_taxonomies.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/test_ui.py +0 -0
- {pysimultan-0.5.7 → pysimultan-0.5.9}/tests/ui_minimal_example.py +0 -0
@@ -1,11 +1,12 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: PySimultan
|
3
|
-
Version: 0.5.
|
3
|
+
Version: 0.5.9
|
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
|
7
7
|
Author-email: Bühler Maximilian <maximilian.buehler@tuwien.ac.at>
|
8
|
-
License: MIT
|
8
|
+
License-Expression: MIT
|
9
|
+
License-File: LICENSE.txt
|
9
10
|
Classifier: Development Status :: 4 - Beta
|
10
11
|
Classifier: Programming Language :: Python
|
11
12
|
Classifier: Programming Language :: Python :: 3.8
|
@@ -166,6 +167,13 @@ print(instances[0].param_1)
|
|
166
167
|
|
167
168
|
# Change Log
|
168
169
|
|
170
|
+
## [0.5.8] - 2024-12-17
|
171
|
+
- Added FileInfo.from_existing_file method to create FileInfo object from existing file in ProjectUnpackFolder
|
172
|
+
|
173
|
+
## [0.5.7] - 2024-12-09
|
174
|
+
- Added support for different taxonomy for content
|
175
|
+
- Added support for numpy np.float32, np.float64 and np.int32, np.int64
|
176
|
+
|
169
177
|
## [0.4.20] - 2024-07-01
|
170
178
|
- Fixed Bug in nested dictionary creation
|
171
179
|
|
@@ -138,6 +138,13 @@ print(instances[0].param_1)
|
|
138
138
|
|
139
139
|
# Change Log
|
140
140
|
|
141
|
+
## [0.5.8] - 2024-12-17
|
142
|
+
- Added FileInfo.from_existing_file method to create FileInfo object from existing file in ProjectUnpackFolder
|
143
|
+
|
144
|
+
## [0.5.7] - 2024-12-09
|
145
|
+
- Added support for different taxonomy for content
|
146
|
+
- Added support for numpy np.float32, np.float64 and np.int32, np.int64
|
147
|
+
|
141
148
|
## [0.4.20] - 2024-07-01
|
142
149
|
- Fixed Bug in nested dictionary creation
|
143
150
|
|
@@ -0,0 +1 @@
|
|
1
|
+
version = '0.5.9'
|
@@ -532,6 +532,60 @@ class DataModel:
|
|
532
532
|
)
|
533
533
|
)
|
534
534
|
|
535
|
+
def add_resource_file(self,
|
536
|
+
filename: Union[str, FileInfo, PythonFileInfo],
|
537
|
+
target_dir: Union[ResourceDirectoryEntry, FileInfo, str] = None) -> ResourceEntry:
|
538
|
+
|
539
|
+
"""
|
540
|
+
Add a file as resource to the project which already exists in the project folder
|
541
|
+
:param filename:
|
542
|
+
:param target_dir:
|
543
|
+
:return:
|
544
|
+
"""
|
545
|
+
|
546
|
+
if isinstance(filename, str):
|
547
|
+
filename = FileInfo(filename)
|
548
|
+
elif isinstance(filename, PythonFileInfo):
|
549
|
+
filename = FileInfo(filename.full_path)
|
550
|
+
|
551
|
+
if target_dir is None:
|
552
|
+
# check if file is already in project folder
|
553
|
+
if not os.path.exists(os.path.join(str(self.project.ProjectUnpackFolder), filename.Name)):
|
554
|
+
raise FileNotFoundError(f'File {filename} not found in project folder {self.project.ProjectUnpackFolder}')
|
555
|
+
|
556
|
+
self.project.AddResourceFile(FileInfo(str(filename)),
|
557
|
+
self.project_data_manager)
|
558
|
+
|
559
|
+
full_filename = os.path.join(str(self.project.ProjectUnpackFolder), filename.Name)
|
560
|
+
|
561
|
+
return next(
|
562
|
+
(
|
563
|
+
x for x in self.project_data_manager.AssetManager.Resources if x.CurrentFullPath == full_filename
|
564
|
+
)
|
565
|
+
, None
|
566
|
+
)
|
567
|
+
|
568
|
+
else:
|
569
|
+
if isinstance(target_dir, str):
|
570
|
+
target_dir = DirectoryInfo(target_dir)
|
571
|
+
elif isinstance(target_dir, ResourceDirectoryEntry):
|
572
|
+
target_dir = DirectoryInfo(target_dir.CurrentFullPath)
|
573
|
+
elif isinstance(target_dir, FileInfo):
|
574
|
+
pass
|
575
|
+
|
576
|
+
# check if file is already in project folder
|
577
|
+
if not os.path.exists(os.path.join(target_dir.FullPath, filename.Name)):
|
578
|
+
raise FileNotFoundError(f'File {filename} not found in project folder {target_dir.FullPath}')
|
579
|
+
|
580
|
+
self.project.AddResourceFile(
|
581
|
+
FileInfo(os.path.join(target_dir.FullPath, filename.Name)),
|
582
|
+
self.project_data_manager)
|
583
|
+
|
584
|
+
# get added resource
|
585
|
+
return next((x for x in self.project_data_manager.AssetManager.Resources if
|
586
|
+
x.CurrentFullPath == os.path.join(target_dir.FullPath, filename.Name)), None)
|
587
|
+
|
588
|
+
|
535
589
|
def add_resource(self,
|
536
590
|
filename: Union[str, FileInfo],
|
537
591
|
target_dir: Optional[Union[DirectoryInfo, ResourceDirectoryEntry, str]] = None,
|
@@ -281,6 +281,21 @@ class FileInfo(object, metaclass=MetaMock):
|
|
281
281
|
file_info.write_content(content)
|
282
282
|
return file_info
|
283
283
|
|
284
|
+
@classmethod
|
285
|
+
def from_existing_file(cls,
|
286
|
+
file_path: str,
|
287
|
+
*args,
|
288
|
+
**kwargs) -> FileInfo:
|
289
|
+
|
290
|
+
data_model = kwargs.get('data_model', config.get_default_data_model())
|
291
|
+
resource = data_model.add_resource_file(file_path)
|
292
|
+
|
293
|
+
return cls(resource_entry=resource,
|
294
|
+
data_model=data_model,
|
295
|
+
*args,
|
296
|
+
**kwargs)
|
297
|
+
|
298
|
+
|
284
299
|
def __init__(self, file_path=None, *args, **kwargs):
|
285
300
|
"""
|
286
301
|
Custom file info object to be used with the with statement. This object is used to open a file and close it
|
@@ -475,7 +490,10 @@ class FileInfo(object, metaclass=MetaMock):
|
|
475
490
|
:return: None
|
476
491
|
"""
|
477
492
|
if self.resource_entry is not None:
|
493
|
+
if self.resource_entry.Key in self._cls_instances:
|
494
|
+
del self._cls_instances[self.resource_entry.Key]
|
478
495
|
self.data_model.delete_resource(self.resource_entry)
|
496
|
+
|
479
497
|
os.remove(self.file_path)
|
480
498
|
|
481
499
|
def to_json(self) -> dict:
|
@@ -471,6 +471,18 @@ class SimultanFace(ExtendedBaseGeometry):
|
|
471
471
|
|
472
472
|
return vertices, triangles
|
473
473
|
|
474
|
+
def get_orientation_to_volume(self, volume: 'SimultanVolume') -> Optional[GeometricOrientation]:
|
475
|
+
|
476
|
+
p_face = next((x for x in volume._wrapped_object.Faces if x.Face.Id is self._wrapped_object.Id), None)
|
477
|
+
|
478
|
+
if p_face is None or p_face.Orientation == GeometricOrientation.Undefined:
|
479
|
+
return None
|
480
|
+
|
481
|
+
mul_1 = 1 if self.orientation == GeometricOrientation.Forward else -1
|
482
|
+
mul_2 = 1 if p_face.Orientation == GeometricOrientation.Forward else -1
|
483
|
+
|
484
|
+
return GeometricOrientation.Forward if mul_1 * mul_2 == 1 else GeometricOrientation.Backward
|
485
|
+
|
474
486
|
def __repr__(self):
|
475
487
|
return f"SimultanFace {self.id} ({self.boundary.id}, {[x.id for x in self.holes]})"
|
476
488
|
|
Binary file
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import io
|
2
1
|
import os
|
3
2
|
|
4
3
|
from PySimultan2.data_model import DataModel
|
@@ -97,12 +96,52 @@ def test_set_file():
|
|
97
96
|
test_component = mapped_test_component_cls(name='test_component',
|
98
97
|
file_value_2=file_info)
|
99
98
|
|
99
|
+
return mapper
|
100
|
+
|
101
|
+
|
102
|
+
def test_add_resource_in_directory(mapper):
|
103
|
+
|
104
|
+
file_path = os.path.join(str(data_model.project.ProjectUnpackFolder), 'already_exising.txt')
|
105
|
+
|
106
|
+
with open(file_path, 'w') as f:
|
107
|
+
f.write('This is the content of the already existing file.')
|
108
|
+
|
109
|
+
file_info = FileInfo(file_path=file_path)
|
110
|
+
mapped_test_component_cls = mapper.get_mapped_class('TestComponent')
|
111
|
+
test_component = mapped_test_component_cls(name='test_component 2',
|
112
|
+
file_value_2=file_info)
|
113
|
+
|
114
|
+
def test_add_resource_file():
|
115
|
+
file_path = os.path.join(str(data_model.project.ProjectUnpackFolder), 'already_exising_2.txt')
|
116
|
+
|
117
|
+
with open(file_path, 'w') as f:
|
118
|
+
f.write('This is the content of the already existing file 2.')
|
119
|
+
|
120
|
+
file = data_model.add_resource_file(file_path)
|
121
|
+
print(file)
|
122
|
+
|
123
|
+
file_path = os.path.join(str(data_model.project.ProjectUnpackFolder), 'already_exising_3.txt')
|
124
|
+
|
125
|
+
with open(file_path, 'w') as f:
|
126
|
+
f.write('This is the content of the already existing file 3.')
|
127
|
+
|
128
|
+
file_info = FileInfo.from_existing_file(file_path=file_path,
|
129
|
+
data_model=data_model)
|
130
|
+
|
131
|
+
mapped_test_component_cls = mapper.get_mapped_class('TestComponent')
|
132
|
+
test_component3 = mapped_test_component_cls(name='test_component 3',
|
133
|
+
file_value_2=file_info)
|
134
|
+
|
135
|
+
|
136
|
+
|
100
137
|
|
101
138
|
if __name__ == '__main__':
|
102
139
|
new_resource = test_create_resource()
|
103
140
|
test_create_resource_from_string()
|
104
141
|
test_add_resource_to_component(new_resource)
|
105
|
-
test_set_file()
|
142
|
+
mapper = test_set_file()
|
143
|
+
test_add_resource_in_directory(mapper)
|
144
|
+
test_add_resource_file()
|
106
145
|
data_model.save()
|
107
146
|
|
108
147
|
data_model.cleanup()
|
@@ -1 +0,0 @@
|
|
1
|
-
version = '0.5.7'
|
@@ -1 +0,0 @@
|
|
1
|
-
ardgadfb
|
Binary file
|
Binary file
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/ComponentBuilder.runtimeconfig.json
RENAMED
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/Cyotek.Drawing.BitmapFont.dll
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll
RENAMED
File without changes
|
{pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.dll
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll
RENAMED
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll
RENAMED
File without changes
|
{pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/Microsoft.Extensions.Primitives.dll
RENAMED
File without changes
|
File without changes
|
{pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll
RENAMED
File without changes
|
{pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.dll
RENAMED
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/System.Collections.Immutable.dll
RENAMED
File without changes
|
File without changes
|
{pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/System.Net.Http.Formatting.dll
RENAMED
File without changes
|
{pysimultan-0.5.7 → pysimultan-0.5.9}/src/PySimultan2/resources/System.Reflection.Metadata.dll
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/create_component_with_taxonomy_slot.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/resources/empty_project.simultan
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/resources/example_extend_1.simultan
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/resources/template_example_extend.yml
RENAMED
File without changes
|
File without changes
|
{pysimultan-0.5.7 → pysimultan-0.5.9}/tests/readme_examples/resources/template_reference_list.yml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.5.7 → pysimultan-0.5.9}/tests/resources/test_multi_value_big_table_load.simultan
RENAMED
File without changes
|
{pysimultan-0.5.7 → pysimultan-0.5.9}/tests/resources/test_parameter_reference_project.simultan
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|