PySimultan 0.4.20__tar.gz → 0.4.22__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. {pysimultan-0.4.20 → pysimultan-0.4.22}/PKG-INFO +4 -1
  2. {pysimultan-0.4.20 → pysimultan-0.4.22}/README.md +3 -0
  3. pysimultan-0.4.22/src/PySimultan2/__about__.py +1 -0
  4. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/default_types.py +10 -31
  5. pysimultan-0.4.22/src/PySimultan2/type_setter_lookup.py +62 -0
  6. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/utils.py +2 -34
  7. pysimultan-0.4.22/tests/resources/test_set_dictionary.simultan +0 -0
  8. pysimultan-0.4.20/src/PySimultan2/__about__.py +0 -1
  9. pysimultan-0.4.20/tests/resources/test_set_dictionary.simultan +0 -0
  10. {pysimultan-0.4.20 → pysimultan-0.4.22}/.gitignore +0 -0
  11. {pysimultan-0.4.20 → pysimultan-0.4.22}/LICENSE.txt +0 -0
  12. {pysimultan-0.4.20 → pysimultan-0.4.22}/pyproject.toml +0 -0
  13. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/__init__.py +0 -0
  14. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/data_model.py +0 -0
  15. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/files.py +0 -0
  16. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/geometry/__init__.py +0 -0
  17. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/geometry/geometry_base.py +0 -0
  18. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/geometry/utils.py +0 -0
  19. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/multi_values.py +0 -0
  20. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/object_mapper.py +0 -0
  21. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/AssimpNet.dll +0 -0
  22. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/AvalonDock.dll +0 -0
  23. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/BruTile.dll +0 -0
  24. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/ClosedXML.dll +0 -0
  25. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/ComponentBuilder.dll +0 -0
  26. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/ComponentBuilder.dll.config +0 -0
  27. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/ComponentBuilder.runtimeconfig.json +0 -0
  28. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/ComponentBuilder.xml +0 -0
  29. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/ControlzEx.dll +0 -0
  30. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/Cyotek.Drawing.BitmapFont.dll +0 -0
  31. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/DocumentFormat.OpenXml.dll +0 -0
  32. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/DotSpatial.Projections.dll +0 -0
  33. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/ExcelNumberFormat.dll +0 -0
  34. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/Fluent.dll +0 -0
  35. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/GeometryViewer.dll +0 -0
  36. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/GeometryViewer.dll.config +0 -0
  37. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/GeometryViewer.xml +0 -0
  38. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/HelixToolkit.Core.Wpf.dll +0 -0
  39. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll +0 -0
  40. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.dll +0 -0
  41. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/HelixToolkit.dll +0 -0
  42. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/MathNet.Numerics.dll +0 -0
  43. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/Microsoft.AspNetCore.Authorization.dll +0 -0
  44. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll +0 -0
  45. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
  46. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
  47. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll +0 -0
  48. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/Microsoft.Extensions.Primitives.dll +0 -0
  49. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.Shell.dll +0 -0
  50. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll +0 -0
  51. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.dll +0 -0
  52. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/Newtonsoft.Json.Bson.dll +0 -0
  53. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/Newtonsoft.Json.dll +0 -0
  54. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll +0 -0
  55. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll.config +0 -0
  56. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll +0 -0
  57. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll.config +0 -0
  58. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/SIMULTAN.Lang.dll +0 -0
  59. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/SIMULTAN.Lang.xml +0 -0
  60. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/SIMULTAN.Plugins.dll +0 -0
  61. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/SIMULTAN.Plugins.xml +0 -0
  62. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/SIMULTAN.UI.dll +0 -0
  63. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/SIMULTAN.UI.xml +0 -0
  64. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/SIMULTAN.dll +0 -0
  65. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/SIMULTAN.xml +0 -0
  66. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/SharpDX.D3DCompiler.dll +0 -0
  67. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/SharpDX.DXGI.dll +0 -0
  68. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/SharpDX.Direct2D1.dll +0 -0
  69. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/SharpDX.Direct3D11.dll +0 -0
  70. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/SharpDX.Direct3D9.dll +0 -0
  71. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/SharpDX.Mathematics.dll +0 -0
  72. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/SharpDX.dll +0 -0
  73. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/SitePlanner.dll +0 -0
  74. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/SitePlanner.dll.config +0 -0
  75. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/SitePlanner.xml +0 -0
  76. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/Sprache.Calc.dll +0 -0
  77. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/Sprache.dll +0 -0
  78. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/System.Data.OleDb.dll +0 -0
  79. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/System.Net.Http.Formatting.dll +0 -0
  80. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/XAMLMarkupExtensions.dll +0 -0
  81. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/__init__.py +0 -0
  82. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/assimp.dll +0 -0
  83. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/defaultsettings.xml +0 -0
  84. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/resources/setup.bat +0 -0
  85. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/simultan_object.py +0 -0
  86. {pysimultan-0.4.20 → pysimultan-0.4.22}/src/PySimultan2/taxonomy_maps.py +0 -0
  87. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/__init__.py +0 -0
  88. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/readme_examples/__init__.py +0 -0
  89. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/readme_examples/create_component.py +0 -0
  90. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/readme_examples/create_component_with_taxonomy_slot.py +0 -0
  91. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/readme_examples/create_referenced_component.py +0 -0
  92. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/readme_examples/create_taxonomies.py +0 -0
  93. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/readme_examples/resources/__init__.py +0 -0
  94. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/readme_examples/resources/change_references_example.simultan +0 -0
  95. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/readme_examples/resources/empty_project.simultan +0 -0
  96. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/readme_examples/resources/empty_test_excel.xlsx +0 -0
  97. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/readme_examples/resources/example1.simultan +0 -0
  98. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/readme_examples/resources/example2.simultan +0 -0
  99. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/readme_examples/resources/example3.simultan +0 -0
  100. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/readme_examples/resources/example4_reference_list.simultan +0 -0
  101. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/readme_examples/resources/example_extend_1.simultan +0 -0
  102. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/readme_examples/resources/list_test.simultan +0 -0
  103. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/readme_examples/resources/template_example3.yml +0 -0
  104. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/readme_examples/resources/template_example4.yml +0 -0
  105. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/readme_examples/resources/template_example_create_typed_component.yml +0 -0
  106. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/readme_examples/resources/template_example_create_typed_component_with_slots.yml +0 -0
  107. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/readme_examples/resources/template_example_extend.yml +0 -0
  108. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/readme_examples/resources/template_example_update_references.yml +0 -0
  109. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/readme_examples/resources/template_reference_list.yml +0 -0
  110. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/resources/U5.simultan +0 -0
  111. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/resources/U5_1.simultan +0 -0
  112. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/resources/U5_orig.simultan +0 -0
  113. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/resources/__init__.py +0 -0
  114. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/resources/new_geometry_test.simultan +0 -0
  115. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/resources/test_file.yml +0 -0
  116. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/resources/test_file_load.simultan +0 -0
  117. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/resources/test_file_project.simultan +0 -0
  118. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/resources/test_multi_value_big_table_load.simultan +0 -0
  119. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/test_calc_static_zone_temperature.py +0 -0
  120. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/test_calculate_steady_state_temperature.py +0 -0
  121. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/test_circular_references.py +0 -0
  122. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/test_create_geometry.py +0 -0
  123. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/test_files.py +0 -0
  124. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/test_files_load.py +0 -0
  125. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/test_load_geometry.py +0 -0
  126. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/test_load_multi_values.py +0 -0
  127. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/test_new_dll.py +0 -0
  128. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/test_new_project_creation.py +0 -0
  129. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/test_numeric_map.py +0 -0
  130. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/test_pythonnet.py +0 -0
  131. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/test_register_class.py +0 -0
  132. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/test_set_attr_property.py +0 -0
  133. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/test_set_dictionary.py +0 -0
  134. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/test_set_properties.py +0 -0
  135. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/test_taxonomie_maps.py +0 -0
  136. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/test_taxonomies.py +0 -0
  137. {pysimultan-0.4.20 → pysimultan-0.4.22}/tests/test_ui.py +0 -0
  138. {pysimultan-0.4.20 → pysimultan-0.4.22}/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.20
3
+ Version: 0.4.22
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
@@ -38,6 +38,9 @@ Description-Content-Type: text/markdown
38
38
 
39
39
  - [Installation](#installation)
40
40
  - [License](#license)
41
+ - [Usage](#usage)
42
+ - [FreeCAD support](#freecad-support)
43
+ - [Change Log](#change-log)
41
44
 
42
45
  ## Installation
43
46
 
@@ -9,6 +9,9 @@
9
9
 
10
10
  - [Installation](#installation)
11
11
  - [License](#license)
12
+ - [Usage](#usage)
13
+ - [FreeCAD support](#freecad-support)
14
+ - [Change Log](#change-log)
12
15
 
13
16
  ## Installation
14
17
 
@@ -0,0 +1 @@
1
+ version = '0.4.22'
@@ -307,27 +307,6 @@ class ComponentDictionary(SimultanObject):
307
307
  component_policy = 'subcomponent' # component add policy of the content/parameter/property, 'reference'
308
308
  # or 'subcomponent'
309
309
 
310
- type_setter_fcn_lookup_dict = {None: lambda x: None,
311
- SimComponent: set_property_to_sim_component,
312
- SimultanObject: set_property_to_sim_component,
313
- SimDoubleParameter: set_property_to_parameter,
314
- SimIntegerParameter: set_property_to_parameter,
315
- SimStringParameter: set_property_to_parameter,
316
- SimBoolParameter: set_property_to_parameter,
317
- SimEnumParameter: set_property_to_parameter,
318
- int: set_property_to_parameter,
319
- float: set_property_to_parameter,
320
- str: set_property_to_parameter,
321
- bool: set_property_to_parameter,
322
- FileInfo: set_property_to_file_info,
323
- list: set_property_to_list,
324
- tuple: set_property_to_list,
325
- set: set_property_to_list,
326
- dict: set_property_to_dict,
327
- ComponentList: set_property_to_list,
328
- np.ndarray: set_property_to_value_field,
329
- pd.DataFrame: set_property_to_value_field}
330
-
331
310
  _taxonomy_map = TaxonomyMap(taxonomy_name='Dictionaries',
332
311
  taxonomy_key='Dictionaries',
333
312
  taxonomy_entry_name='ComponentDict',
@@ -422,10 +401,14 @@ class ComponentDictionary(SimultanObject):
422
401
  logger.error(f'Could not get value for key {key} ({text_or_key}) in {self}:\n{e}')
423
402
  raise ValueError(f'Could not get value for key {key} ({text_or_key}) in {self}:\n{e}')
424
403
 
425
- self._dict[key] = get_obj_value(val,
426
- data_model=data_model,
427
- object_mapper=object_mapper)
428
- return self._dict[key]
404
+ val = get_obj_value(val,
405
+ data_model=data_model,
406
+ object_mapper=object_mapper)
407
+
408
+ if val is not None:
409
+ self._dict[key] = val
410
+
411
+ return self._dict.get(key, None)
429
412
 
430
413
  def __setitem__(self, key, value):
431
414
 
@@ -470,12 +453,8 @@ class ComponentDictionary(SimultanObject):
470
453
  keep=[])
471
454
  return
472
455
 
473
- if isinstance(value, (list, tuple, set, ComponentList)):
474
- setter_fcn = set_property_to_list
475
- elif isinstance(value, SimultanObject):
476
- setter_fcn = set_property_to_sim_component
477
- else:
478
- setter_fcn = self.type_setter_fcn_lookup_dict.get(type(value), set_property_to_unknown_type)
456
+ from .type_setter_lookup import type_setter_fcn_lookup_dict
457
+ setter_fcn = type_setter_fcn_lookup_dict.get(type(value), set_property_to_unknown_type)
479
458
 
480
459
  setter_fcn(*fcn_arg_list)
481
460
  item = self.__getitem__(key, check_dict=False)
@@ -0,0 +1,62 @@
1
+ import numpy as np
2
+ import pandas as pd
3
+
4
+ from .utils import (SimComponent, SimultanObject, SimDoubleParameter, SimIntegerParameter, SimStringParameter,
5
+ SimBoolParameter, SimEnumParameter, SimMultiValueField3D, SimMultiValueBigTable, FileInfo,
6
+ set_property_to_sim_component, set_property_to_parameter, set_property_to_value_field,
7
+ set_property_to_file_info, set_property_to_list, set_property_to_dict)
8
+
9
+ from .default_types import ComponentList, ComponentDictionary
10
+
11
+ from SIMULTAN.Data.Components import (ComponentWalker, SimComponent, SimBoolParameter, SimDoubleParameter,
12
+ SimEnumParameter, SimIntegerParameter, SimStringParameter, ComponentMapping,
13
+ SimSlot, SimComponentVisibility, SimChildComponentEntry, SimDefaultSlots,
14
+ SimParameterOperations, SimComponentReference)
15
+
16
+
17
+ lookup_dict = {None: lambda x: None,
18
+ SimComponent: set_property_to_sim_component,
19
+ SimultanObject: set_property_to_sim_component,
20
+ SimDoubleParameter: set_property_to_parameter,
21
+ SimIntegerParameter: set_property_to_parameter,
22
+ SimStringParameter: set_property_to_parameter,
23
+ SimBoolParameter: set_property_to_parameter,
24
+ SimEnumParameter: set_property_to_parameter,
25
+ SimMultiValueField3D: set_property_to_value_field,
26
+ SimMultiValueBigTable: set_property_to_value_field,
27
+ int: set_property_to_parameter,
28
+ float: set_property_to_parameter,
29
+ str: set_property_to_parameter,
30
+ bool: set_property_to_parameter,
31
+ FileInfo: set_property_to_file_info,
32
+ list: set_property_to_list,
33
+ tuple: set_property_to_list,
34
+ set: set_property_to_list,
35
+ dict: set_property_to_dict,
36
+ ComponentDictionary: set_property_to_dict,
37
+ ComponentList: set_property_to_list,
38
+ np.ndarray: set_property_to_value_field,
39
+ pd.DataFrame: set_property_to_value_field}
40
+
41
+
42
+ class TypeSetterFcnLookupDict(object):
43
+
44
+ def __getitem__(self, item: type):
45
+ if item in lookup_dict:
46
+ return lookup_dict[item]
47
+ elif SimultanObject in item.__bases__:
48
+ return set_property_to_sim_component
49
+ else:
50
+ return None
51
+
52
+ def get(self,
53
+ item: type,
54
+ default=None):
55
+ val = self.__getitem__(item)
56
+ if val is None:
57
+ return default
58
+ else:
59
+ return val
60
+
61
+
62
+ type_setter_fcn_lookup_dict = TypeSetterFcnLookupDict()
@@ -1313,7 +1313,6 @@ def set_property_to_dict(value: dict,
1313
1313
  slot_extension=slot_extension,
1314
1314
  slot=slot)
1315
1315
 
1316
-
1317
1316
  def add_properties(prop_name: str,
1318
1317
  text_or_key: str,
1319
1318
  content: Content,
@@ -1334,30 +1333,6 @@ def add_properties(prop_name: str,
1334
1333
 
1335
1334
  from .default_types import ComponentList, ComponentDictionary
1336
1335
 
1337
- type_setter_fcn_lookup_dict = {None: lambda x: None,
1338
- SimComponent: set_property_to_sim_component,
1339
- SimultanObject: set_property_to_sim_component,
1340
- SimDoubleParameter: set_property_to_parameter,
1341
- SimIntegerParameter: set_property_to_parameter,
1342
- SimStringParameter: set_property_to_parameter,
1343
- SimBoolParameter: set_property_to_parameter,
1344
- SimEnumParameter: set_property_to_parameter,
1345
- SimMultiValueField3D: set_property_to_value_field,
1346
- SimMultiValueBigTable: set_property_to_value_field,
1347
- int: set_property_to_parameter,
1348
- float: set_property_to_parameter,
1349
- str: set_property_to_parameter,
1350
- bool: set_property_to_parameter,
1351
- FileInfo: set_property_to_file_info,
1352
- list: set_property_to_list,
1353
- tuple: set_property_to_list,
1354
- set: set_property_to_list,
1355
- dict: set_property_to_dict,
1356
- ComponentDictionary: set_property_to_dict,
1357
- ComponentList: set_property_to_list,
1358
- np.ndarray: set_property_to_value_field,
1359
- pd.DataFrame: set_property_to_value_field}
1360
-
1361
1336
  class Empty:
1362
1337
  pass
1363
1338
 
@@ -1413,15 +1388,8 @@ def add_properties(prop_name: str,
1413
1388
  if isinstance(value, UnresolvedObject):
1414
1389
  return
1415
1390
 
1416
- if isinstance(value, (list, tuple, set, ComponentList)):
1417
- setter_fcn = set_property_to_list
1418
- elif isinstance(value, SimultanObject):
1419
- setter_fcn = set_property_to_sim_component
1420
- elif isinstance(value, dict):
1421
- setter_fcn = set_property_to_dict
1422
- else:
1423
- setter_fcn = type_setter_fcn_lookup_dict.get(type(value), set_property_to_unknown_type)
1424
-
1391
+ from .type_setter_lookup import type_setter_fcn_lookup_dict
1392
+ setter_fcn = type_setter_fcn_lookup_dict.get(type(value), set_property_to_unknown_type)
1425
1393
  setter_fcn(*fcn_arg_list)
1426
1394
 
1427
1395
  setx.__taxonomy__ = taxonomy
@@ -1 +0,0 @@
1
- version = '0.4.20'
File without changes
File without changes
File without changes