PySimultan 0.2.3__tar.gz → 0.2.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pysimultan-0.2.3 → pysimultan-0.2.4}/LICENSE.txt +17 -17
- {pysimultan-0.2.3 → pysimultan-0.2.4}/MANIFEST.in +9 -9
- {pysimultan-0.2.3/src/PySimultan.egg-info → pysimultan-0.2.4}/PKG-INFO +1 -1
- {pysimultan-0.2.3 → pysimultan-0.2.4}/README.md +5 -5
- {pysimultan-0.2.3 → pysimultan-0.2.4}/pyproject.toml +1 -1
- {pysimultan-0.2.3 → pysimultan-0.2.4}/requirements.txt +14 -14
- {pysimultan-0.2.3 → pysimultan-0.2.4}/setup.py +1 -1
- {pysimultan-0.2.3 → pysimultan-0.2.4/src/PySimultan.egg-info}/PKG-INFO +1 -1
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan.egg-info/top_level.txt +1 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/data_model.py +19 -15
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/object_mapper.py +1 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/simultan_object.py +1 -2
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/utils.py +2 -2
- {pysimultan-0.2.3 → pysimultan-0.2.4}/tests/test_calculate_steady_state_temperature.py +39 -17
- {pysimultan-0.2.3 → pysimultan-0.2.4}/setup.cfg +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan.egg-info/SOURCES.txt +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan.egg-info/dependency_links.txt +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan.egg-info/not-zip-safe +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/__init__.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/config.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/default_types.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/files.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/geometry/__init__.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/geometry/geometry_base.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/geometry/utils.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/multi_values.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/AssimpNet.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/AvalonDock.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/BruTile.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/ClosedXML.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/ComponentBuilder.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/ComponentBuilder.dll.config +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/ComponentBuilder.runtimeconfig.json +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/ComponentBuilder.xml +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/ControlzEx.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/Cyotek.Drawing.BitmapFont.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/DocumentFormat.OpenXml.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/DotSpatial.Projections.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/ExcelNumberFormat.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/Fluent.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/GeometryViewer.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/GeometryViewer.dll.config +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/GeometryViewer.xml +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/HelixToolkit.Core.Wpf.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/HelixToolkit.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/MathNet.Numerics.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/Microsoft.AspNetCore.Authorization.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/Microsoft.Extensions.Primitives.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.Shell.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/Newtonsoft.Json.Bson.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/Newtonsoft.Json.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll.config +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll.config +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/SIMULTAN.Lang.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/SIMULTAN.Lang.xml +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/SIMULTAN.Plugins.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/SIMULTAN.Plugins.xml +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/SIMULTAN.UI.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/SIMULTAN.UI.xml +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/SIMULTAN.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/SIMULTAN.xml +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/SharpDX.D3DCompiler.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/SharpDX.DXGI.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/SharpDX.Direct2D1.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/SharpDX.Direct3D11.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/SharpDX.Direct3D9.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/SharpDX.Mathematics.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/SharpDX.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/SitePlanner.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/SitePlanner.dll.config +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/SitePlanner.xml +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/Sprache.Calc.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/Sprache.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/System.Data.OleDb.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/System.Net.Http.Formatting.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/XAMLMarkupExtensions.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/__init__.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/assimp.dll +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/defaultsettings.xml +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/setup.bat +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/taxonomy_maps.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/tests/test_calc_static_zone_temperature.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/tests/test_create_geometry.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/tests/test_files.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/tests/test_files_load.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/tests/test_load_geometry.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/tests/test_load_multi_values.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/tests/test_new_dll.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/tests/test_new_project_creation.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/tests/test_numeric_map.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/tests/test_pythonnet.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/tests/test_register_class.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/tests/test_set_attr_property.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/tests/test_set_dictionary.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/tests/test_set_properties.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/tests/test_taxonomie_maps.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/tests/test_taxonomies.py +0 -0
- {pysimultan-0.2.3 → pysimultan-0.2.4}/tests/test_ui.py +0 -0
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
2
|
-
of this software and associated documentation files (the "Software"), to
|
|
3
|
-
deal in the Software without restriction, including without limitation the
|
|
4
|
-
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
|
5
|
-
sell copies of the Software, and to permit persons to whom the Software is
|
|
6
|
-
furnished to do so, subject to the following conditions:
|
|
7
|
-
|
|
8
|
-
The above copyright notice and this permission notice shall be included in
|
|
9
|
-
all copies or substantial portions of the Software.
|
|
10
|
-
|
|
11
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
12
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
13
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
14
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
15
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
16
|
-
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
17
|
-
IN THE SOFTWARE.
|
|
1
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
2
|
+
of this software and associated documentation files (the "Software"), to
|
|
3
|
+
deal in the Software without restriction, including without limitation the
|
|
4
|
+
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
|
5
|
+
sell copies of the Software, and to permit persons to whom the Software is
|
|
6
|
+
furnished to do so, subject to the following conditions:
|
|
7
|
+
|
|
8
|
+
The above copyright notice and this permission notice shall be included in
|
|
9
|
+
all copies or substantial portions of the Software.
|
|
10
|
+
|
|
11
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
12
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
13
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
14
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
15
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
16
|
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
17
|
+
IN THE SOFTWARE.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
include README.rst
|
|
2
|
-
include LICENSE.txt
|
|
3
|
-
include requirements.txt
|
|
4
|
-
|
|
5
|
-
graft src/py_plot_tools/resources
|
|
6
|
-
graft src/py_plot_tools/basic_geometries/gui_adaptions/infos/generated
|
|
7
|
-
graft src/py_plot_tools/generated
|
|
8
|
-
recursive-exclude src/tests *
|
|
9
|
-
recursive-include src/resources *
|
|
1
|
+
include README.rst
|
|
2
|
+
include LICENSE.txt
|
|
3
|
+
include requirements.txt
|
|
4
|
+
|
|
5
|
+
graft src/py_plot_tools/resources
|
|
6
|
+
graft src/py_plot_tools/basic_geometries/gui_adaptions/infos/generated
|
|
7
|
+
graft src/py_plot_tools/generated
|
|
8
|
+
recursive-exclude src/tests *
|
|
9
|
+
recursive-include src/resources *
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
===================================================
|
|
2
|
-
geometry_utils: Several tools to work with geometry
|
|
3
|
-
===================================================
|
|
4
|
-
|
|
5
|
-
Python library with several tools to work with geometry
|
|
1
|
+
===================================================
|
|
2
|
+
geometry_utils: Several tools to work with geometry
|
|
3
|
+
===================================================
|
|
4
|
+
|
|
5
|
+
Python library with several tools to work with geometry
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
#
|
|
2
|
-
# This file is autogenerated by pip-compile
|
|
3
|
-
# To update, run:
|
|
4
|
-
#
|
|
5
|
-
# pip-compile requirements.in
|
|
6
|
-
#
|
|
7
|
-
six
|
|
8
|
-
numpy
|
|
9
|
-
pythonnet
|
|
10
|
-
colorlog
|
|
11
|
-
ruamel.yaml
|
|
12
|
-
tqdm
|
|
13
|
-
pandas
|
|
14
|
-
pyarrow
|
|
1
|
+
#
|
|
2
|
+
# This file is autogenerated by pip-compile
|
|
3
|
+
# To update, run:
|
|
4
|
+
#
|
|
5
|
+
# pip-compile requirements.in
|
|
6
|
+
#
|
|
7
|
+
six
|
|
8
|
+
numpy
|
|
9
|
+
pythonnet
|
|
10
|
+
colorlog
|
|
11
|
+
ruamel.yaml
|
|
12
|
+
tqdm
|
|
13
|
+
pandas
|
|
14
|
+
pyarrow
|
|
@@ -8,7 +8,7 @@ project_dir = Path(__file__).parent
|
|
|
8
8
|
|
|
9
9
|
setuptools.setup(
|
|
10
10
|
name="PySimultan",
|
|
11
|
-
version="0.2.
|
|
11
|
+
version="0.2.4",
|
|
12
12
|
description="Integrate SIMULTAN into Python",
|
|
13
13
|
# Allow UTF-8 characters in README with encoding argument.
|
|
14
14
|
long_description=project_dir.joinpath("README.md").read_text(encoding="utf-8"),
|
|
@@ -8,7 +8,7 @@ from weakref import WeakSet, WeakValueDictionary
|
|
|
8
8
|
from . import config
|
|
9
9
|
from .utils import *
|
|
10
10
|
from pathlib import PosixPath, WindowsPath
|
|
11
|
-
from typing import Union, Tuple
|
|
11
|
+
from typing import Union, Tuple, TYPE_CHECKING
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
# from SIMULTAN import Projects
|
|
@@ -17,7 +17,7 @@ from SIMULTAN.Projects import ExtendedProjectData
|
|
|
17
17
|
# noinspection PyUnresolvedReferences
|
|
18
18
|
from SIMULTAN import Utils
|
|
19
19
|
# noinspection PyUnresolvedReferences
|
|
20
|
-
from SIMULTAN.Data import Users
|
|
20
|
+
from SIMULTAN.Data import Users as SimultanUsers
|
|
21
21
|
# from SIMULTAN.Serializer import Projects
|
|
22
22
|
from SIMULTAN.Serializer.SimGeo import *
|
|
23
23
|
from SIMULTAN.Serializer.Projects import *
|
|
@@ -44,10 +44,14 @@ from System.Text import *
|
|
|
44
44
|
from .files import add_tag_to_resource
|
|
45
45
|
|
|
46
46
|
|
|
47
|
+
if TYPE_CHECKING:
|
|
48
|
+
from .object_mapper import PythonMapper
|
|
49
|
+
|
|
50
|
+
|
|
47
51
|
logger = getLogger('PySimultan')
|
|
48
52
|
|
|
49
53
|
|
|
50
|
-
class IAuthenticationServiceNew(
|
|
54
|
+
class IAuthenticationServiceNew(SimultanUsers.IAuthenticationService):
|
|
51
55
|
__namespace__ = "authenticate_namespace"
|
|
52
56
|
|
|
53
57
|
user_name = None
|
|
@@ -88,13 +92,13 @@ class DataModel:
|
|
|
88
92
|
|
|
89
93
|
passwordArray = Encoding.UTF8.GetBytes(password)
|
|
90
94
|
encryptionKey = RandomNumberGenerator.GetBytes(32)
|
|
91
|
-
encryptedEncryptionKey =
|
|
92
|
-
passwordHash =
|
|
93
|
-
initialUser =
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
95
|
+
encryptedEncryptionKey = SimultanUsers.SimUsersManager.EncryptEncryptionKey(encryptionKey, passwordArray)
|
|
96
|
+
passwordHash = SimultanUsers.SimUsersManager.HashPassword(passwordArray)
|
|
97
|
+
initialUser = SimultanUsers.SimUser(Guid.NewGuid(),
|
|
98
|
+
user_name,
|
|
99
|
+
passwordHash,
|
|
100
|
+
encryptedEncryptionKey,
|
|
101
|
+
SimultanUsers.SimUserRole.ADMINISTRATOR)
|
|
98
102
|
|
|
99
103
|
tempPath = Path.GetTempPath()
|
|
100
104
|
projectFile = FileInfo(project_path)
|
|
@@ -151,7 +155,7 @@ class DataModel:
|
|
|
151
155
|
self.i_aut_service.user_name = self.user_name
|
|
152
156
|
self.i_aut_service.password = self.password
|
|
153
157
|
|
|
154
|
-
self.service_provider.AddService[
|
|
158
|
+
self.service_provider.AddService[SimultanUsers.IAuthenticationService](self.i_aut_service())
|
|
155
159
|
|
|
156
160
|
# self.serv = GeometryViewerService([], self.service_provider)
|
|
157
161
|
# self.service_provider.AddService[IGeometryViewerService](self.serv)
|
|
@@ -249,13 +253,13 @@ class DataModel:
|
|
|
249
253
|
self._project_data_manager = value
|
|
250
254
|
|
|
251
255
|
@property
|
|
252
|
-
def user(self) ->
|
|
256
|
+
def user(self) -> SimultanUsers.SimUserRole:
|
|
253
257
|
if self._user is None:
|
|
254
|
-
self._user =
|
|
258
|
+
self._user = SimultanUsers.SimUserRole.ADMINISTRATOR
|
|
255
259
|
return self._user
|
|
256
260
|
|
|
257
261
|
@user.setter
|
|
258
|
-
def user(self, value:
|
|
262
|
+
def user(self, value: SimultanUsers.SimUserRole):
|
|
259
263
|
if value != self._user:
|
|
260
264
|
self.project_data_manager = None
|
|
261
265
|
self._project = None
|
|
@@ -279,7 +283,7 @@ class DataModel:
|
|
|
279
283
|
def project(self, value):
|
|
280
284
|
self._project = value
|
|
281
285
|
|
|
282
|
-
def get_typed_data(self, mapper, create_all=False) -> list[SimultanObject]:
|
|
286
|
+
def get_typed_data(self, mapper: 'PythonMapper', create_all=False) -> list[SimultanObject]:
|
|
283
287
|
"""
|
|
284
288
|
Return the typed data from the project
|
|
285
289
|
:param mapper:
|
|
@@ -66,6 +66,7 @@ class PythonMapper(object):
|
|
|
66
66
|
new_class_dict = {'__init__': new_init,
|
|
67
67
|
'__name__': cls.__name__,
|
|
68
68
|
'_taxonomy': taxonomy,
|
|
69
|
+
'_cls_instances': WeakSet(),
|
|
69
70
|
'_taxonomy_map': self.taxonomy_maps.get(taxonomy, None),
|
|
70
71
|
'_base': bases,
|
|
71
72
|
'_object_mapper': self}
|
|
@@ -109,7 +109,6 @@ class SimultanObject(object, metaclass=MetaMock):
|
|
|
109
109
|
@classproperty
|
|
110
110
|
def cls_instances(cls) -> list['SimultanObject']:
|
|
111
111
|
try:
|
|
112
|
-
_ = cls._cls_instances
|
|
113
112
|
return list(cls._cls_instances)
|
|
114
113
|
except Exception as e:
|
|
115
114
|
logger.error(f'Error getting cls_instances: {e}')
|
|
@@ -123,7 +122,7 @@ class SimultanObject(object, metaclass=MetaMock):
|
|
|
123
122
|
|
|
124
123
|
def __new__(cls, *args, **kwargs):
|
|
125
124
|
instance = super().__new__(cls)
|
|
126
|
-
if not
|
|
125
|
+
if "_cls_instances" not in cls.__dict__:
|
|
127
126
|
cls._cls_instances = WeakSet()
|
|
128
127
|
try:
|
|
129
128
|
cls._cls_instances.add(instance)
|
|
@@ -5,7 +5,7 @@ from enum import Enum
|
|
|
5
5
|
from functools import lru_cache
|
|
6
6
|
import numpy as np
|
|
7
7
|
import pandas as pd
|
|
8
|
-
from typing import List as TypeList, Union, Optional
|
|
8
|
+
from typing import List as TypeList, Union, Optional, Type
|
|
9
9
|
from SIMULTAN.Data.Components import (ComponentWalker, SimComponent, SimBoolParameter, SimDoubleParameter,
|
|
10
10
|
SimEnumParameter, SimIntegerParameter, SimStringParameter, ComponentMapping,
|
|
11
11
|
SimSlot, SimComponentVisibility, SimChildComponentEntry, SimDefaultSlots,
|
|
@@ -55,7 +55,7 @@ class CircularReferenceResolver(object):
|
|
|
55
55
|
circ_ref_resolver = CircularReferenceResolver()
|
|
56
56
|
|
|
57
57
|
|
|
58
|
-
def create_python_object(wrapped_obj: SimComponent, cls: SimultanObject, *args, **kwargs):
|
|
58
|
+
def create_python_object(wrapped_obj: SimComponent, cls: Type[SimultanObject], *args, **kwargs):
|
|
59
59
|
"""
|
|
60
60
|
Create a new mapped python object from a wrapped object
|
|
61
61
|
:param wrapped_obj: wrapped object to create the python object from
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
from PySimultan2 import FileInfo
|
|
2
|
-
from PySimultan2 import DataModel
|
|
3
|
-
from PySimultan2 import PythonMapper
|
|
4
|
-
from PySimultan2.taxonomy_maps import TaxonomyMap, Content
|
|
1
|
+
from src.PySimultan2 import FileInfo
|
|
2
|
+
from src.PySimultan2 import DataModel
|
|
3
|
+
from src.PySimultan2 import PythonMapper
|
|
4
|
+
from src.PySimultan2.taxonomy_maps import TaxonomyMap, Content
|
|
5
5
|
|
|
6
6
|
from typing import List
|
|
7
7
|
|
|
8
8
|
from tests import resources
|
|
9
|
-
from PySimultan2.geometry.geometry_base import (GeometryModel, SimultanLayer, SimultanVertex, SimultanEdge,
|
|
9
|
+
from src.PySimultan2.geometry.geometry_base import (GeometryModel, SimultanLayer, SimultanVertex, SimultanEdge,
|
|
10
10
|
SimultanEdgeLoop, SimultanFace, SimultanVolume)
|
|
11
|
-
from PySimultan2.geometry.utils import create_cube
|
|
11
|
+
from src.PySimultan2.geometry.utils import create_cube
|
|
12
12
|
|
|
13
13
|
try:
|
|
14
14
|
import importlib.resources as pkg_resources
|
|
@@ -20,17 +20,12 @@ with pkg_resources.path(resources, 'new_geometry_test.simultan') as r_path:
|
|
|
20
20
|
project_path = str(r_path)
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
user_name='admin',
|
|
25
|
-
password='admin')
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
def create_geometry_model(name='new_geometry_test'):
|
|
23
|
+
def create_geometry_model(name='new_geometry_test', data_model=None):
|
|
29
24
|
return GeometryModel(name=name,
|
|
30
25
|
data_model=data_model)
|
|
31
26
|
|
|
32
27
|
|
|
33
|
-
def create_classes() -> dict[str, type]:
|
|
28
|
+
def create_classes() -> tuple[dict[str, type], PythonMapper]:
|
|
34
29
|
|
|
35
30
|
class Source(object):
|
|
36
31
|
def __init__(self, *args, **kwargs):
|
|
@@ -400,16 +395,21 @@ def create_mapped_classes(classes: dict[str, type]) -> dict[str, type]:
|
|
|
400
395
|
'HeatFluxBoundaryCondition': mapped_heat_flux_bc_cls,
|
|
401
396
|
'Source': mapped_source_cls}
|
|
402
397
|
|
|
403
|
-
return mapped_cls_dict
|
|
398
|
+
return mapped_cls_dict, mapper
|
|
404
399
|
|
|
405
400
|
|
|
406
|
-
|
|
407
|
-
|
|
401
|
+
def create_model():
|
|
402
|
+
data_model = DataModel.create_new_project(project_path=project_path,
|
|
403
|
+
user_name='admin',
|
|
404
|
+
password='admin')
|
|
405
|
+
|
|
406
|
+
geo_model = create_geometry_model(name='new_geometry_test',
|
|
407
|
+
data_model=data_model)
|
|
408
408
|
|
|
409
409
|
cube = create_cube(data_model, geo_model, scale=10)
|
|
410
410
|
|
|
411
411
|
classes = create_classes()
|
|
412
|
-
mapped_classes = create_mapped_classes(classes)
|
|
412
|
+
mapped_classes, mapper = create_mapped_classes(classes)
|
|
413
413
|
|
|
414
414
|
Material = mapped_classes['Material']
|
|
415
415
|
WallLayer = mapped_classes['Layer']
|
|
@@ -510,3 +510,25 @@ if __name__ == '__main__':
|
|
|
510
510
|
|
|
511
511
|
data_model.save()
|
|
512
512
|
data_model.cleanup()
|
|
513
|
+
mapper.clear()
|
|
514
|
+
|
|
515
|
+
|
|
516
|
+
def load_model():
|
|
517
|
+
|
|
518
|
+
mapped_cls_dict, mapper = create_mapped_classes(create_classes())
|
|
519
|
+
data_model = DataModel(project_path=project_path,
|
|
520
|
+
user_name='admin',
|
|
521
|
+
password='admin')
|
|
522
|
+
typed_data = data_model.get_typed_data(mapper=mapper)
|
|
523
|
+
zone_cls = mapper.get_mapped_class('Zone')
|
|
524
|
+
zone1 = zone_cls.cls_instances[0]
|
|
525
|
+
zone1.calculate_steady_state_temperature()
|
|
526
|
+
return typed_data
|
|
527
|
+
|
|
528
|
+
|
|
529
|
+
if __name__ == '__main__':
|
|
530
|
+
|
|
531
|
+
#create_model()
|
|
532
|
+
typed_data = load_model()
|
|
533
|
+
|
|
534
|
+
pass
|
|
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.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/ComponentBuilder.runtimeconfig.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysimultan-0.2.3 → pysimultan-0.2.4}/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.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll
RENAMED
|
File without changes
|
{pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.dll
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll
RENAMED
|
File without changes
|
{pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/Microsoft.Extensions.Primitives.dll
RENAMED
|
File without changes
|
|
File without changes
|
{pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll
RENAMED
|
File without changes
|
{pysimultan-0.2.3 → pysimultan-0.2.4}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.dll
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysimultan-0.2.3 → pysimultan-0.2.4}/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.2.3 → pysimultan-0.2.4}/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
|
|
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
|