PySimultan 0.4.8__tar.gz → 0.4.9__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {pysimultan-0.4.8 → pysimultan-0.4.9}/PKG-INFO +32 -2
- pysimultan-0.4.9/README.md +51 -0
- pysimultan-0.4.9/src/PySimultan2/__about__.py +1 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/object_mapper.py +61 -31
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/test_calculate_steady_state_temperature.py +3 -0
- pysimultan-0.4.8/README.md +0 -21
- pysimultan-0.4.8/src/PySimultan2/__about__.py +0 -1
- {pysimultan-0.4.8 → pysimultan-0.4.9}/.gitignore +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/LICENSE.txt +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/pyproject.toml +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/__init__.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/data_model.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/default_types.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/files.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/geometry/__init__.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/geometry/geometry_base.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/geometry/utils.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/multi_values.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/AssimpNet.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/AvalonDock.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/BruTile.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/ClosedXML.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/ComponentBuilder.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/ComponentBuilder.dll.config +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/ComponentBuilder.runtimeconfig.json +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/ComponentBuilder.xml +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/ControlzEx.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/Cyotek.Drawing.BitmapFont.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/DocumentFormat.OpenXml.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/DotSpatial.Projections.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/ExcelNumberFormat.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/Fluent.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/GeometryViewer.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/GeometryViewer.dll.config +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/GeometryViewer.xml +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/HelixToolkit.Core.Wpf.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/HelixToolkit.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/MathNet.Numerics.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/Microsoft.AspNetCore.Authorization.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/Microsoft.Extensions.Primitives.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.Shell.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/Newtonsoft.Json.Bson.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/Newtonsoft.Json.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll.config +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll.config +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/SIMULTAN.Lang.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/SIMULTAN.Lang.xml +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/SIMULTAN.Plugins.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/SIMULTAN.Plugins.xml +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/SIMULTAN.UI.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/SIMULTAN.UI.xml +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/SIMULTAN.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/SIMULTAN.xml +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/SharpDX.D3DCompiler.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/SharpDX.DXGI.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/SharpDX.Direct2D1.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/SharpDX.Direct3D11.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/SharpDX.Direct3D9.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/SharpDX.Mathematics.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/SharpDX.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/SitePlanner.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/SitePlanner.dll.config +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/SitePlanner.xml +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/Sprache.Calc.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/Sprache.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/System.Data.OleDb.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/System.Net.Http.Formatting.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/XAMLMarkupExtensions.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/__init__.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/assimp.dll +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/defaultsettings.xml +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/setup.bat +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/simultan_object.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/taxonomy_maps.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/utils.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/__init__.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/readme_examples/__init__.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/readme_examples/create_component.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/readme_examples/create_component_with_taxonomy_slot.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/readme_examples/create_referenced_component.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/readme_examples/create_taxonomies.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/readme_examples/resources/__init__.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/readme_examples/resources/change_references_example.simultan +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/readme_examples/resources/empty_project.simultan +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/readme_examples/resources/empty_test_excel.xlsx +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/readme_examples/resources/example1.simultan +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/readme_examples/resources/example2.simultan +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/readme_examples/resources/example3.simultan +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/readme_examples/resources/example4_reference_list.simultan +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/readme_examples/resources/example_extend_1.simultan +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/readme_examples/resources/list_test.simultan +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/readme_examples/resources/template_example3.yml +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/readme_examples/resources/template_example4.yml +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/readme_examples/resources/template_example_create_typed_component.yml +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/readme_examples/resources/template_example_create_typed_component_with_slots.yml +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/readme_examples/resources/template_example_extend.yml +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/readme_examples/resources/template_example_update_references.yml +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/readme_examples/resources/template_reference_list.yml +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/resources/U5.simultan +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/resources/U5_1.simultan +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/resources/U5_orig.simultan +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/resources/__init__.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/resources/new_geometry_test.simultan +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/resources/test_file.yml +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/resources/test_file_load.simultan +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/resources/test_file_project.simultan +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/resources/test_multi_value_big_table_load.simultan +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/test_calc_static_zone_temperature.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/test_circular_references.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/test_create_geometry.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/test_files.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/test_files_load.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/test_load_geometry.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/test_load_multi_values.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/test_new_dll.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/test_new_project_creation.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/test_numeric_map.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/test_pythonnet.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/test_register_class.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/test_set_attr_property.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/test_set_dictionary.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/test_set_properties.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/test_taxonomie_maps.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/test_taxonomies.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/tests/test_ui.py +0 -0
- {pysimultan-0.4.8 → pysimultan-0.4.9}/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.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
|
@@ -42,9 +42,39 @@ Description-Content-Type: text/markdown
|
|
42
42
|
## Installation
|
43
43
|
|
44
44
|
```console
|
45
|
-
pip install
|
45
|
+
pip install PySimultan
|
46
46
|
```
|
47
47
|
|
48
48
|
## License
|
49
49
|
|
50
50
|
`pysimultan-api` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
|
51
|
+
|
52
|
+
|
53
|
+
### Usage
|
54
|
+
|
55
|
+
```python
|
56
|
+
from PySimultan2 import DataModel, Content, TaxonomyMap, PythonMapper
|
57
|
+
```
|
58
|
+
|
59
|
+
|
60
|
+
## FreeCAD support
|
61
|
+
|
62
|
+
PySimultanUI looks for a FreeCAD version in C:\Program Files\FreeCAD. If you don't have FreeCAD installed, you can
|
63
|
+
download it from the FreeCAD website or use the FreeCAD version provided in the FreeCAD-Bundle repository.
|
64
|
+
Go to https://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/weekly-builds and download the latest version
|
65
|
+
of FreeCAD for your OS. The version must be compiled with the same python version you are using (e.g. py311).
|
66
|
+
|
67
|
+
Extract the zip file to C:\Program Files\FreeCAD
|
68
|
+
|
69
|
+
The directory structure should look like this:
|
70
|
+
|
71
|
+
```
|
72
|
+
C:\Program Files\FreeCAD
|
73
|
+
│ ...
|
74
|
+
│ FreeCAD_weekly-builds-37730-conda-Windows-x86_64-py311
|
75
|
+
│ │ bin
|
76
|
+
│ │ lib
|
77
|
+
│ │ ...
|
78
|
+
│
|
79
|
+
|
80
|
+
```
|
@@ -0,0 +1,51 @@
|
|
1
|
+
# pysimultan_api
|
2
|
+
|
3
|
+
[![PyPI - Version](https://img.shields.io/pypi/v/pysimultan-api.svg)](https://pypi.org/project/pysimultan-api)
|
4
|
+
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pysimultan-api.svg)](https://pypi.org/project/pysimultan-api)
|
5
|
+
|
6
|
+
-----
|
7
|
+
|
8
|
+
## Table of Contents
|
9
|
+
|
10
|
+
- [Installation](#installation)
|
11
|
+
- [License](#license)
|
12
|
+
|
13
|
+
## Installation
|
14
|
+
|
15
|
+
```console
|
16
|
+
pip install PySimultan
|
17
|
+
```
|
18
|
+
|
19
|
+
## License
|
20
|
+
|
21
|
+
`pysimultan-api` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
|
22
|
+
|
23
|
+
|
24
|
+
### Usage
|
25
|
+
|
26
|
+
```python
|
27
|
+
from PySimultan2 import DataModel, Content, TaxonomyMap, PythonMapper
|
28
|
+
```
|
29
|
+
|
30
|
+
|
31
|
+
## FreeCAD support
|
32
|
+
|
33
|
+
PySimultanUI looks for a FreeCAD version in C:\Program Files\FreeCAD. If you don't have FreeCAD installed, you can
|
34
|
+
download it from the FreeCAD website or use the FreeCAD version provided in the FreeCAD-Bundle repository.
|
35
|
+
Go to https://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/weekly-builds and download the latest version
|
36
|
+
of FreeCAD for your OS. The version must be compiled with the same python version you are using (e.g. py311).
|
37
|
+
|
38
|
+
Extract the zip file to C:\Program Files\FreeCAD
|
39
|
+
|
40
|
+
The directory structure should look like this:
|
41
|
+
|
42
|
+
```
|
43
|
+
C:\Program Files\FreeCAD
|
44
|
+
│ ...
|
45
|
+
│ FreeCAD_weekly-builds-37730-conda-Windows-x86_64-py311
|
46
|
+
│ │ bin
|
47
|
+
│ │ lib
|
48
|
+
│ │ ...
|
49
|
+
│
|
50
|
+
|
51
|
+
```
|
@@ -0,0 +1 @@
|
|
1
|
+
version = '0.4.9'
|
@@ -1,9 +1,12 @@
|
|
1
|
+
from typing import Optional, Type, TYPE_CHECKING, Union
|
1
2
|
from copy import copy
|
2
3
|
from collections import UserList
|
3
4
|
from colorlog import getLogger
|
5
|
+
from weakref import WeakSet
|
4
6
|
|
7
|
+
from . import config
|
5
8
|
from .data_model import data_models
|
6
|
-
from .utils import
|
9
|
+
from .utils import create_python_object, add_properties
|
7
10
|
from .default_types import ComponentList, component_list_map, ComponentDictionary, component_dict_map
|
8
11
|
|
9
12
|
from .simultan_object import SimultanObject
|
@@ -16,6 +19,9 @@ from .geometry.geometry_base import (SimultanLayer, SimultanVertex, SimultanEdge
|
|
16
19
|
|
17
20
|
from .taxonomy_maps import TaxonomyMap, Content
|
18
21
|
|
22
|
+
if TYPE_CHECKING:
|
23
|
+
from .data_model import DataModel
|
24
|
+
|
19
25
|
logger = getLogger('PySimultan')
|
20
26
|
|
21
27
|
default_registered_classes = {'ComponentList': ComponentList,
|
@@ -145,7 +151,8 @@ class PythonMapper(object):
|
|
145
151
|
|
146
152
|
for component in component_list:
|
147
153
|
typed_object = self.create_python_object(component, data_model=data_model)
|
148
|
-
|
154
|
+
if typed_object is not None:
|
155
|
+
typed_data.append(typed_object)
|
149
156
|
return typed_data
|
150
157
|
|
151
158
|
def create_python_geometry_object(self, component, data_model=None, *args, **kwargs):
|
@@ -167,9 +174,11 @@ class PythonMapper(object):
|
|
167
174
|
else:
|
168
175
|
self.create_python_object(component, data_model, *args, **kwargs)
|
169
176
|
|
170
|
-
|
171
|
-
|
172
|
-
|
177
|
+
def get_mapped_class_from_component(self,
|
178
|
+
component,
|
179
|
+
data_model: Optional['DataModel'] = None,
|
180
|
+
*args,
|
181
|
+
**kwargs) -> Optional[Type[SimultanObject]]:
|
173
182
|
if component is None:
|
174
183
|
return None
|
175
184
|
|
@@ -182,33 +191,54 @@ class PythonMapper(object):
|
|
182
191
|
):
|
183
192
|
self.create_python_geometry_object(component, data_model, *args, **kwargs)
|
184
193
|
|
194
|
+
c_slots = [x.Target.Key for x in component.Slots.Items]
|
195
|
+
c_slot = list(set(c_slots) & set(self.registered_classes.keys()))
|
196
|
+
if len(c_slot) == 0:
|
197
|
+
if c_slots[0] not in self.registered_classes.keys() and self.load_undefined:
|
198
|
+
|
199
|
+
def new_init(self, *args, **kwargs):
|
200
|
+
"""
|
201
|
+
Init method for undefined classes
|
202
|
+
:param self:
|
203
|
+
:param args:
|
204
|
+
:param kwargs:
|
205
|
+
:return:
|
206
|
+
"""
|
207
|
+
pass
|
208
|
+
|
209
|
+
new_cls = type(c_slots[0],
|
210
|
+
(object,),
|
211
|
+
{'__init__': new_init}
|
212
|
+
)
|
213
|
+
|
214
|
+
self.register(c_slots[0], new_cls)
|
215
|
+
c_slot = [c_slots[0]]
|
216
|
+
self.undefined_registered_classes[c_slot[0]] = new_cls
|
217
|
+
# self.create_mapped_class(c_slot[0], self.registered_classes[c_slot[0]])
|
218
|
+
elif c_slots[0] not in self.registered_classes.keys() and not self.load_undefined:
|
219
|
+
logger.debug(f'Component {component} has no registered taxonomy: {c_slots}')
|
220
|
+
return
|
221
|
+
elif len(c_slot) > 1:
|
222
|
+
num_superclasses = [len(self.registered_classes[x].__mro__) for x in c_slot]
|
223
|
+
c_slot = [c_slot[num_superclasses.index(max(num_superclasses))]]
|
224
|
+
|
225
|
+
if c_slot[0] not in self.mapped_classes.keys():
|
226
|
+
self.create_mapped_class(c_slot[0], self.registered_classes[c_slot[0]])
|
227
|
+
|
228
|
+
cls = self.mapped_classes[c_slot[0]]
|
229
|
+
|
230
|
+
return cls
|
231
|
+
|
232
|
+
# @lru_cache(maxsize=500)
|
233
|
+
def create_python_object(self, component, cls=None, data_model=None, *args, **kwargs) -> Optional[SimultanObject]:
|
234
|
+
|
185
235
|
if cls is None:
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
pass
|
193
|
-
|
194
|
-
new_cls = type(c_slots[0],
|
195
|
-
(object,),
|
196
|
-
{'__init__': new_init}
|
197
|
-
)
|
198
|
-
|
199
|
-
self.register(c_slots[0], new_cls)
|
200
|
-
c_slot = [c_slots[0]]
|
201
|
-
self.undefined_registered_classes[c_slot[0]] = new_cls
|
202
|
-
# self.create_mapped_class(c_slot[0], self.registered_classes[c_slot[0]])
|
203
|
-
elif len(c_slot) > 1:
|
204
|
-
num_superclasses = [len(self.registered_classes[x].__mro__) for x in c_slot]
|
205
|
-
c_slot = [c_slot[num_superclasses.index(max(num_superclasses))]]
|
206
|
-
# raise Warning(f'Component {component} has more than one registered taxonomy: {c_slot}')
|
207
|
-
|
208
|
-
if c_slot[0] not in self.mapped_classes.keys():
|
209
|
-
self.create_mapped_class(c_slot[0], self.registered_classes[c_slot[0]])
|
210
|
-
|
211
|
-
cls = self.mapped_classes[c_slot[0]]
|
236
|
+
cls = self.get_mapped_class_from_component(component,
|
237
|
+
data_model,
|
238
|
+
*args, **kwargs)
|
239
|
+
|
240
|
+
if cls is None:
|
241
|
+
return None
|
212
242
|
|
213
243
|
if component is not None and component.Id in cls._cls_instances_dict.keys():
|
214
244
|
return cls._cls_instances_dict[component.Id]
|
pysimultan-0.4.8/README.md
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
# pysimultan_api
|
2
|
-
|
3
|
-
[![PyPI - Version](https://img.shields.io/pypi/v/pysimultan-api.svg)](https://pypi.org/project/pysimultan-api)
|
4
|
-
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/pysimultan-api.svg)](https://pypi.org/project/pysimultan-api)
|
5
|
-
|
6
|
-
-----
|
7
|
-
|
8
|
-
## Table of Contents
|
9
|
-
|
10
|
-
- [Installation](#installation)
|
11
|
-
- [License](#license)
|
12
|
-
|
13
|
-
## Installation
|
14
|
-
|
15
|
-
```console
|
16
|
-
pip install pysimultan-api
|
17
|
-
```
|
18
|
-
|
19
|
-
## License
|
20
|
-
|
21
|
-
`pysimultan-api` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
|
@@ -1 +0,0 @@
|
|
1
|
-
version = '0.4.8'
|
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.8 → pysimultan-0.4.9}/src/PySimultan2/resources/ComponentBuilder.runtimeconfig.json
RENAMED
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.4.8 → pysimultan-0.4.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
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll
RENAMED
File without changes
|
{pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.dll
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll
RENAMED
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll
RENAMED
File without changes
|
{pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/Microsoft.Extensions.Primitives.dll
RENAMED
File without changes
|
File without changes
|
{pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll
RENAMED
File without changes
|
{pysimultan-0.4.8 → pysimultan-0.4.9}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.dll
RENAMED
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.4.8 → pysimultan-0.4.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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{pysimultan-0.4.8 → pysimultan-0.4.9}/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
|
File without changes
|
{pysimultan-0.4.8 → pysimultan-0.4.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.4.8 → pysimultan-0.4.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.4.8 → pysimultan-0.4.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.4.8 → pysimultan-0.4.9}/tests/readme_examples/resources/template_example_extend.yml
RENAMED
File without changes
|
File without changes
|
{pysimultan-0.4.8 → pysimultan-0.4.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.4.8 → pysimultan-0.4.9}/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
|