PySimultan 0.4.17__tar.gz → 0.4.19__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {pysimultan-0.4.17 → pysimultan-0.4.19}/PKG-INFO +7 -1
- {pysimultan-0.4.17 → pysimultan-0.4.19}/README.md +6 -0
- pysimultan-0.4.19/src/PySimultan2/__about__.py +1 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/default_types.py +47 -6
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/taxonomy_maps.py +8 -0
- pysimultan-0.4.19/tests/resources/test_set_dictionary.simultan +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/test_set_dictionary.py +62 -5
- pysimultan-0.4.17/src/PySimultan2/__about__.py +0 -1
- {pysimultan-0.4.17 → pysimultan-0.4.19}/.gitignore +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/LICENSE.txt +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/pyproject.toml +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/__init__.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/data_model.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/files.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/geometry/__init__.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/geometry/geometry_base.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/geometry/utils.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/multi_values.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/object_mapper.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/AssimpNet.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/AvalonDock.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/BruTile.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/ClosedXML.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/ComponentBuilder.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/ComponentBuilder.dll.config +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/ComponentBuilder.runtimeconfig.json +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/ComponentBuilder.xml +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/ControlzEx.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/Cyotek.Drawing.BitmapFont.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/DocumentFormat.OpenXml.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/DotSpatial.Projections.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/ExcelNumberFormat.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/Fluent.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/GeometryViewer.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/GeometryViewer.dll.config +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/GeometryViewer.xml +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/HelixToolkit.Core.Wpf.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/HelixToolkit.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/MathNet.Numerics.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/Microsoft.AspNetCore.Authorization.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/Microsoft.Extensions.Primitives.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.Shell.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/Newtonsoft.Json.Bson.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/Newtonsoft.Json.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll.config +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll.config +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/SIMULTAN.Lang.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/SIMULTAN.Lang.xml +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/SIMULTAN.Plugins.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/SIMULTAN.Plugins.xml +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/SIMULTAN.UI.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/SIMULTAN.UI.xml +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/SIMULTAN.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/SIMULTAN.xml +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/SharpDX.D3DCompiler.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/SharpDX.DXGI.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/SharpDX.Direct2D1.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/SharpDX.Direct3D11.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/SharpDX.Direct3D9.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/SharpDX.Mathematics.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/SharpDX.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/SitePlanner.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/SitePlanner.dll.config +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/SitePlanner.xml +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/Sprache.Calc.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/Sprache.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/System.Data.OleDb.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/System.Net.Http.Formatting.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/XAMLMarkupExtensions.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/__init__.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/assimp.dll +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/defaultsettings.xml +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/setup.bat +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/simultan_object.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/utils.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/__init__.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/__init__.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/create_component.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/create_component_with_taxonomy_slot.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/create_referenced_component.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/create_taxonomies.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/resources/__init__.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/resources/change_references_example.simultan +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/resources/empty_project.simultan +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/resources/empty_test_excel.xlsx +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/resources/example1.simultan +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/resources/example2.simultan +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/resources/example3.simultan +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/resources/example4_reference_list.simultan +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/resources/example_extend_1.simultan +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/resources/list_test.simultan +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/resources/template_example3.yml +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/resources/template_example4.yml +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/resources/template_example_create_typed_component.yml +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/resources/template_example_create_typed_component_with_slots.yml +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/resources/template_example_extend.yml +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/resources/template_example_update_references.yml +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/resources/template_reference_list.yml +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/resources/U5.simultan +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/resources/U5_1.simultan +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/resources/U5_orig.simultan +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/resources/__init__.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/resources/new_geometry_test.simultan +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/resources/test_file.yml +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/resources/test_file_load.simultan +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/resources/test_file_project.simultan +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/resources/test_multi_value_big_table_load.simultan +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/test_calc_static_zone_temperature.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/test_calculate_steady_state_temperature.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/test_circular_references.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/test_create_geometry.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/test_files.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/test_files_load.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/test_load_geometry.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/test_load_multi_values.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/test_new_dll.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/test_new_project_creation.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/test_numeric_map.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/test_pythonnet.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/test_register_class.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/test_set_attr_property.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/test_set_properties.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/test_taxonomie_maps.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/test_taxonomies.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/test_ui.py +0 -0
- {pysimultan-0.4.17 → pysimultan-0.4.19}/tests/ui_minimal_example.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: PySimultan
|
3
|
-
Version: 0.4.
|
3
|
+
Version: 0.4.19
|
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
|
@@ -78,3 +78,9 @@ C:\Program Files\FreeCAD
|
|
78
78
|
│
|
79
79
|
|
80
80
|
```
|
81
|
+
|
82
|
+
|
83
|
+
# Change Log
|
84
|
+
|
85
|
+
## [0.4.19] - 2024-07-01
|
86
|
+
- Refactored dictionaries
|
@@ -0,0 +1 @@
|
|
1
|
+
version = '0.4.19'
|
@@ -341,6 +341,9 @@ class ComponentDictionary(SimultanObject):
|
|
341
341
|
super().__init__(*args, **kwargs)
|
342
342
|
self.component_policy = kwargs.get('component_policy', 'subcomponent') # component add policy of the content/parameter/property, 'reference' or 'subcomponent'
|
343
343
|
|
344
|
+
def __load_init__(self, *args, **kwargs):
|
345
|
+
self._dict = {}
|
346
|
+
|
344
347
|
@classmethod
|
345
348
|
def create_from_values(cls,
|
346
349
|
values: dict[str, Any],
|
@@ -377,10 +380,48 @@ class ComponentDictionary(SimultanObject):
|
|
377
380
|
return object.__getattribute__(self, '_dict')[key]
|
378
381
|
else:
|
379
382
|
# data_model = config.default_data_model
|
380
|
-
obj = get_component_taxonomy_entry(self._wrapped_obj, key)
|
381
|
-
if obj is not None:
|
382
|
-
|
383
|
-
|
383
|
+
# obj = get_component_taxonomy_entry(self._wrapped_obj, key)
|
384
|
+
# if obj is not None:
|
385
|
+
# val = get_obj_value(obj, data_model=self._data_model, object_mapper=self._object_mapper)
|
386
|
+
|
387
|
+
if key in self._taxonomy_map.parameter_taxonomy_entry_dict.keys():
|
388
|
+
text_or_key = self._taxonomy_map.parameter_taxonomy_entry_dict[key]
|
389
|
+
else:
|
390
|
+
content = Content(text_or_key=f'__dict_key__{key}',
|
391
|
+
property_name=key,
|
392
|
+
type=None,
|
393
|
+
unit=None,
|
394
|
+
documentation=f'Property {key} in ComponentDictionary',
|
395
|
+
component_policy=self.component_policy)
|
396
|
+
self._taxonomy_map.add_content(content)
|
397
|
+
text_or_key = content.text_or_key
|
398
|
+
|
399
|
+
try:
|
400
|
+
components = list(self._wrapped_obj.Components.Items)
|
401
|
+
val = next((get_obj_value(x.Component,
|
402
|
+
data_model=self._data_model,
|
403
|
+
object_mapper=self._object_mapper) for x in components if
|
404
|
+
x.Slot.SlotBase.Target.Key == text_or_key), None)
|
405
|
+
if val is None:
|
406
|
+
ref_components = list(self._wrapped_obj.ReferencedComponents.Items)
|
407
|
+
val = next((get_obj_value(x.Target,
|
408
|
+
data_model=self._data_model,
|
409
|
+
object_mapper=self._object_mapper) for x in ref_components
|
410
|
+
if x.Slot.SlotBase.Target.Key == text_or_key), None)
|
411
|
+
if val is None:
|
412
|
+
parameters = list(self._wrapped_obj.Parameters.Items)
|
413
|
+
val = next((get_obj_value(x,
|
414
|
+
data_model=self._data_model,
|
415
|
+
object_mapper=self._object_mapper) for x in parameters if
|
416
|
+
x.NameTaxonomyEntry.TextOrKey == text_or_key), None)
|
417
|
+
|
418
|
+
except Exception as e:
|
419
|
+
logger.error(f'Could not get value for key {key} ({text_or_key}) in {self}:\n{e}')
|
420
|
+
raise ValueError(f'Could not get value for key {key} ({text_or_key}) in {self}:\n{e}')
|
421
|
+
|
422
|
+
self._dict[key] = get_obj_value(val,
|
423
|
+
data_model=self._data_model,
|
424
|
+
object_mapper=self._object_mapper)
|
384
425
|
return self._dict[key]
|
385
426
|
|
386
427
|
def __setitem__(self, key, value):
|
@@ -391,7 +432,7 @@ class ComponentDictionary(SimultanObject):
|
|
391
432
|
if key in self._taxonomy_map.content_dict.keys():
|
392
433
|
content = self._taxonomy_map.content_dict[key]
|
393
434
|
else:
|
394
|
-
content = Content(text_or_key=key,
|
435
|
+
content = Content(text_or_key=f'__dict_key__{key}',
|
395
436
|
property_name=key,
|
396
437
|
type=None,
|
397
438
|
unit=None,
|
@@ -399,7 +440,6 @@ class ComponentDictionary(SimultanObject):
|
|
399
440
|
component_policy=self.component_policy)
|
400
441
|
self._taxonomy_map.add_content(content)
|
401
442
|
taxonomy_entry = content.get_taxonomie_entry(self._data_model)
|
402
|
-
|
403
443
|
component_idx, ref_component_idx, parameter_idx, ref_asset_idx = get_param_indices(self._wrapped_obj,
|
404
444
|
taxonomy_entry)
|
405
445
|
|
@@ -425,6 +465,7 @@ class ComponentDictionary(SimultanObject):
|
|
425
465
|
ref_component_idx=ref_component_idx,
|
426
466
|
parameter_idx=parameter_idx,
|
427
467
|
keep=[])
|
468
|
+
return
|
428
469
|
|
429
470
|
if isinstance(value, (list, tuple, set, ComponentList)):
|
430
471
|
setter_fcn = set_property_to_list
|
@@ -87,6 +87,7 @@ class TaxonomyMap(object):
|
|
87
87
|
|
88
88
|
self._content = []
|
89
89
|
self._content_dict = {}
|
90
|
+
self._parameter_taxonomy_entry_dict = {}
|
90
91
|
|
91
92
|
self.taxonomy_name = kwargs.get('taxonomy_name', kwargs.get('taxonomy_key', None))
|
92
93
|
self.taxonomy_key = kwargs.get('taxonomy_key', None)
|
@@ -124,6 +125,13 @@ class TaxonomyMap(object):
|
|
124
125
|
self._content_dict[content.text_or_key] = content
|
125
126
|
return self._content_dict
|
126
127
|
|
128
|
+
@property
|
129
|
+
def parameter_taxonomy_entry_dict(self):
|
130
|
+
if not self._parameter_taxonomy_entry_dict:
|
131
|
+
for content in self._content:
|
132
|
+
self._parameter_taxonomy_entry_dict[content.property_name] = content.text_or_key
|
133
|
+
return self._parameter_taxonomy_entry_dict
|
134
|
+
|
127
135
|
def write(self, filename=None):
|
128
136
|
if filename is not None:
|
129
137
|
with open(filename, mode='w') as f:
|
Binary file
|
@@ -1,6 +1,6 @@
|
|
1
|
-
from PySimultan2.data_model import DataModel
|
2
|
-
from PySimultan2.object_mapper import PythonMapper
|
3
|
-
from PySimultan2.taxonomy_maps import TaxonomyMap, Content
|
1
|
+
from PySimultan2.src.PySimultan2.data_model import DataModel
|
2
|
+
from PySimultan2.src.PySimultan2.object_mapper import PythonMapper
|
3
|
+
from PySimultan2.src.PySimultan2.taxonomy_maps import TaxonomyMap, Content
|
4
4
|
|
5
5
|
import resources
|
6
6
|
|
@@ -70,19 +70,76 @@ component = mapped_cls_1(name='test_component',
|
|
70
70
|
|
71
71
|
|
72
72
|
def test_set_dictionary_param(component):
|
73
|
+
|
74
|
+
other_component = mapped_cls_2(name='other_component',
|
75
|
+
mapped_property=None)
|
76
|
+
other_component_2 = mapped_cls_2(name='other_component_2',
|
77
|
+
mapped_property=None)
|
78
|
+
other_component_3 = mapped_cls_2(name='other_component_3',
|
79
|
+
mapped_property=None)
|
80
|
+
other_component_4 = mapped_cls_2(name='other_component_4',
|
81
|
+
mapped_property=None)
|
82
|
+
|
73
83
|
test_dict = {'val_a': 1,
|
74
84
|
'val_b': 2.0,
|
75
|
-
'val_c': 'test'
|
85
|
+
'val_c': 'test',
|
86
|
+
'val_d': True,
|
87
|
+
'val_e': [other_component, other_component_2, other_component_3],
|
88
|
+
'val_f': {'a': other_component_2, 'b': other_component_3},
|
89
|
+
'val_g': None,
|
90
|
+
'val_h': other_component,
|
91
|
+
}
|
76
92
|
component.mapped_property = test_dict
|
77
|
-
|
78
93
|
component.mapped_property['val_a'] = 222
|
79
94
|
|
95
|
+
component.mapped_property['val_i'] = other_component_4
|
96
|
+
|
80
97
|
print(component.mapped_property)
|
81
98
|
|
82
99
|
|
100
|
+
def load_data_model(data_model: DataModel):
|
101
|
+
data_model = DataModel(project_path=project_path,
|
102
|
+
user_name='admin',
|
103
|
+
password='admin')
|
104
|
+
typed_data = data_model.get_typed_data(mapper=mapper,
|
105
|
+
create_all=True)
|
106
|
+
|
107
|
+
TestComponent = mapper.get_mapped_class('TestComponent')
|
108
|
+
test_component = TestComponent.cls_instances[0]
|
109
|
+
|
110
|
+
TestComponent2 = mapper.get_mapped_class('TestComponent2')
|
111
|
+
other_component = next(x for x in TestComponent2.cls_instances if x.name == 'other_component')
|
112
|
+
other_component_2 = next(x for x in TestComponent2.cls_instances if x.name == 'other_component_2')
|
113
|
+
other_component_3 = next(x for x in TestComponent2.cls_instances if x.name == 'other_component_3')
|
114
|
+
other_component_4 = next(x for x in TestComponent2.cls_instances if x.name == 'other_component_4')
|
115
|
+
|
116
|
+
assert test_component.mapped_property['val_a'] == 222
|
117
|
+
assert test_component.mapped_property['val_b'] == 2.0
|
118
|
+
assert test_component.mapped_property['val_c'] == 'test'
|
119
|
+
assert test_component.mapped_property['val_d'] is True
|
120
|
+
assert test_component.mapped_property['val_g'] is None
|
121
|
+
assert test_component.mapped_property['val_h'] == other_component
|
122
|
+
assert len(test_component.mapped_property['val_e']) == 3
|
123
|
+
assert test_component.mapped_property['val_e'][0] == other_component
|
124
|
+
assert test_component.mapped_property['val_e'][1] == other_component_2
|
125
|
+
assert test_component.mapped_property['val_e'][2] == other_component_3
|
126
|
+
assert test_component.mapped_property['val_f']['a'] == other_component_2
|
127
|
+
assert test_component.mapped_property['val_f']['b'] == other_component_3
|
128
|
+
assert test_component.mapped_property['val_i'] == other_component_4
|
129
|
+
|
130
|
+
return data_model
|
131
|
+
|
132
|
+
|
83
133
|
if __name__ == '__main__':
|
84
134
|
test_set_dictionary_param(component)
|
85
135
|
data_model.save()
|
136
|
+
mapper.clear()
|
137
|
+
data_model.cleanup()
|
138
|
+
data_model = DataModel(project_path=project_path,
|
139
|
+
user_name='admin',
|
140
|
+
password='admin')
|
141
|
+
load_data_model(data_model)
|
142
|
+
|
86
143
|
|
87
144
|
data_model.cleanup()
|
88
145
|
print('Test passed')
|
@@ -1 +0,0 @@
|
|
1
|
-
version = '0.4.17'
|
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.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/ComponentBuilder.dll.config
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/Cyotek.Drawing.BitmapFont.dll
RENAMED
File without changes
|
{pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/DocumentFormat.OpenXml.dll
RENAMED
File without changes
|
{pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/DotSpatial.Projections.dll
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll
RENAMED
File without changes
|
{pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.dll
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll
RENAMED
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll
RENAMED
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll
RENAMED
File without changes
|
{pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.dll
RENAMED
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.4.17 → pysimultan-0.4.19}/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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.4.17 → pysimultan-0.4.19}/src/PySimultan2/resources/System.Net.Http.Formatting.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
|
{pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/create_component_with_taxonomy_slot.py
RENAMED
File without changes
|
{pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/create_referenced_component.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/resources/empty_project.simultan
RENAMED
File without changes
|
{pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/resources/empty_test_excel.xlsx
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/resources/example_extend_1.simultan
RENAMED
File without changes
|
File without changes
|
{pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/resources/template_example3.yml
RENAMED
File without changes
|
{pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/resources/template_example4.yml
RENAMED
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.4.17 → pysimultan-0.4.19}/tests/readme_examples/resources/template_example_extend.yml
RENAMED
File without changes
|
File without changes
|
{pysimultan-0.4.17 → pysimultan-0.4.19}/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.4.17 → pysimultan-0.4.19}/tests/resources/test_multi_value_big_table_load.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
|