PySimultan 0.4.12__py3-none-any.whl → 0.4.14__py3-none-any.whl
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.
- PySimultan2/__about__.py +1 -1
- PySimultan2/data_model.py +10 -12
- PySimultan2/object_mapper.py +8 -2
- PySimultan2/simultan_object.py +8 -13
- PySimultan2/utils.py +7 -7
- {pysimultan-0.4.12.dist-info → pysimultan-0.4.14.dist-info}/METADATA +1 -1
- {pysimultan-0.4.12.dist-info → pysimultan-0.4.14.dist-info}/RECORD +9 -9
- {pysimultan-0.4.12.dist-info → pysimultan-0.4.14.dist-info}/WHEEL +0 -0
- {pysimultan-0.4.12.dist-info → pysimultan-0.4.14.dist-info}/licenses/LICENSE.txt +0 -0
PySimultan2/__about__.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
version = '0.4.
|
1
|
+
version = '0.4.14'
|
PySimultan2/data_model.py
CHANGED
@@ -3,7 +3,6 @@ import os
|
|
3
3
|
import shutil
|
4
4
|
from uuid import uuid4
|
5
5
|
from colorlog import getLogger
|
6
|
-
from weakref import WeakSet, WeakValueDictionary
|
7
6
|
from . import config
|
8
7
|
from .utils import *
|
9
8
|
from pathlib import PosixPath, WindowsPath
|
@@ -73,8 +72,16 @@ class IAuthenticationServiceNew(SimultanUsers.IAuthenticationService):
|
|
73
72
|
return user.Item1
|
74
73
|
|
75
74
|
|
76
|
-
data_models = WeakSet()
|
77
|
-
data_models_dict = WeakValueDictionary()
|
75
|
+
# data_models = WeakSet()
|
76
|
+
# data_models_dict = WeakValueDictionary()
|
77
|
+
|
78
|
+
|
79
|
+
# def get_default_data_model():
|
80
|
+
# return data_models[0]
|
81
|
+
#
|
82
|
+
#
|
83
|
+
# def add_data_model(data_model):
|
84
|
+
# data_models.add(data_model)
|
78
85
|
|
79
86
|
|
80
87
|
# noinspection PyUnresolvedReferences
|
@@ -120,11 +127,6 @@ class DataModel:
|
|
120
127
|
|
121
128
|
instance = super().__new__(cls)
|
122
129
|
config.set_default_data_model(instance)
|
123
|
-
try:
|
124
|
-
data_models.add(instance)
|
125
|
-
except Exception as e:
|
126
|
-
logger.error(f'Error adding instance {instance} to data_models: {e}')
|
127
|
-
return instance
|
128
130
|
|
129
131
|
def __init__(self, *args, **kwargs):
|
130
132
|
"""
|
@@ -140,7 +142,6 @@ class DataModel:
|
|
140
142
|
atexit.register(self.cleanup)
|
141
143
|
|
142
144
|
self.id = uuid4()
|
143
|
-
data_models_dict[self.id] = self
|
144
145
|
self.data = None
|
145
146
|
self._project_data_manager = None
|
146
147
|
self._user = None
|
@@ -377,9 +378,6 @@ class DataModel:
|
|
377
378
|
del self._project_data_manager
|
378
379
|
self._project_data_manager = None
|
379
380
|
|
380
|
-
data_models = WeakSet()
|
381
|
-
data_models_dict = WeakValueDictionary()
|
382
|
-
|
383
381
|
if config.get_default_data_model() is self:
|
384
382
|
config.set_default_data_model(None)
|
385
383
|
|
PySimultan2/object_mapper.py
CHANGED
@@ -5,7 +5,6 @@ from colorlog import getLogger
|
|
5
5
|
from weakref import WeakSet
|
6
6
|
|
7
7
|
from . import config
|
8
|
-
from .data_model import data_models
|
9
8
|
from .utils import create_python_object, add_properties
|
10
9
|
from .default_types import ComponentList, component_list_map, ComponentDictionary, component_dict_map
|
11
10
|
|
@@ -128,7 +127,7 @@ class PythonMapper(object):
|
|
128
127
|
component_list = list(data_model.data.Items)
|
129
128
|
|
130
129
|
if data_model is None:
|
131
|
-
data_model =
|
130
|
+
data_model = config.get_default_data_model()
|
132
131
|
|
133
132
|
if create_all:
|
134
133
|
new_component_list = set()
|
@@ -301,6 +300,13 @@ class PythonMapper(object):
|
|
301
300
|
if remove_from_default and config.get_default_mapper() is self:
|
302
301
|
config.set_default_mapper(None)
|
303
302
|
|
303
|
+
def create_sim_component(self,
|
304
|
+
obj,
|
305
|
+
data_model: 'DataModel'):
|
306
|
+
from . utils import create_mapped_python_object
|
307
|
+
new_val = create_mapped_python_object(obj, self, data_model)
|
308
|
+
return new_val
|
309
|
+
|
304
310
|
def copy(self):
|
305
311
|
new_mapper = PythonMapper()
|
306
312
|
new_mapper.registered_classes = self.registered_classes
|
PySimultan2/simultan_object.py
CHANGED
@@ -2,7 +2,7 @@ import hashlib
|
|
2
2
|
import json
|
3
3
|
|
4
4
|
from copy import copy
|
5
|
-
from weakref import WeakSet
|
5
|
+
from weakref import WeakSet
|
6
6
|
from . import utils
|
7
7
|
from numpy import ndarray
|
8
8
|
import colorlog
|
@@ -63,20 +63,15 @@ class MetaMock(type):
|
|
63
63
|
|
64
64
|
data_model = kwargs.get('data_model', None)
|
65
65
|
if data_model is None:
|
66
|
-
|
67
|
-
|
68
|
-
|
66
|
+
if config.get_default_data_model() is not None:
|
67
|
+
logger.warning(
|
68
|
+
f'No data model provided. Using default data model: {config.get_default_data_model().id}')
|
69
|
+
data_model = config.get_default_data_model()
|
69
70
|
kwargs['data_model'] = data_model
|
70
71
|
else:
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
data_model = config.get_default_data_model()
|
75
|
-
kwargs['data_model'] = data_model
|
76
|
-
else:
|
77
|
-
raise TypeError((f'Error creating new instance of class {cls.__name__}:\n'
|
78
|
-
f'Any data model was defined. Tried to use default data model but there are multiple datamodels.\n'
|
79
|
-
f'Define the data model to use with the key: data_model'))
|
72
|
+
raise TypeError((f'Error creating new instance of class {cls.__name__}:\n'
|
73
|
+
f'Any data model was defined. Tried to use default data model but there are multiple datamodels.\n'
|
74
|
+
f'Define the data model to use with the key: data_model'))
|
80
75
|
|
81
76
|
wrapped_obj = cls.create_simultan_component(*args, **kwargs)
|
82
77
|
|
PySimultan2/utils.py
CHANGED
@@ -4,7 +4,7 @@ from enum import Enum
|
|
4
4
|
from weakref import WeakSet
|
5
5
|
import numpy as np
|
6
6
|
import pandas as pd
|
7
|
-
from typing import List as TypeList, Union, Optional, Type
|
7
|
+
from typing import List as TypeList, Union, Optional, Type, Any, TYPE_CHECKING
|
8
8
|
from SIMULTAN.Data.Components import (ComponentWalker, SimComponent, SimBoolParameter, SimDoubleParameter,
|
9
9
|
SimEnumParameter, SimIntegerParameter, SimStringParameter, ComponentMapping,
|
10
10
|
SimSlot, SimComponentVisibility, SimChildComponentEntry, SimDefaultSlots,
|
@@ -21,7 +21,6 @@ from .multi_values import (simultan_multi_value_field_3d_to_numpy, set_parameter
|
|
21
21
|
create_field_parameter, simultan_multi_value_big_table_to_pandas)
|
22
22
|
from .files import FileInfo, remove_asset_from_component, add_asset_to_component
|
23
23
|
|
24
|
-
from typing import TYPE_CHECKING
|
25
24
|
if TYPE_CHECKING:
|
26
25
|
from .default_types import ComponentList, ComponentDictionary
|
27
26
|
from .simultan_object import SimultanObject
|
@@ -125,7 +124,7 @@ def create_python_object(wrapped_obj: SimComponent, cls: Type[SimultanObject], *
|
|
125
124
|
logger.error(f'Error adding instance {obj} to _cls_instances: {e}')
|
126
125
|
|
127
126
|
if hasattr(cls, '__load_init__'):
|
128
|
-
obj.
|
127
|
+
obj.__load_init__(*args, **kwargs)
|
129
128
|
#
|
130
129
|
circ_ref_resolver.unresolved_objects.pop(wrapped_obj.Id)
|
131
130
|
|
@@ -867,7 +866,7 @@ param_type_lookup_dict = {str: SimStringParameter,
|
|
867
866
|
bool: SimBoolParameter}
|
868
867
|
|
869
868
|
|
870
|
-
def create_mapped_python_object(value:
|
869
|
+
def create_mapped_python_object(value: Any,
|
871
870
|
object_mapper: PythonMapper,
|
872
871
|
data_model: DataModel,
|
873
872
|
add_to_data_model=True) -> SimultanObject:
|
@@ -885,8 +884,9 @@ def create_mapped_python_object(value: SimComponent,
|
|
885
884
|
|
886
885
|
# logger.debug(f'Creating mapped python object for {value}.')
|
887
886
|
if type(value) in object_mapper.registered_classes.values():
|
888
|
-
key = list(filter(lambda x: object_mapper.registered_classes[x] ==
|
889
|
-
|
887
|
+
key = list(filter(lambda x: object_mapper.registered_classes[x] == type(value),
|
888
|
+
object_mapper.registered_classes)
|
889
|
+
)[0]
|
890
890
|
mapped_cls = object_mapper.get_mapped_class(key)
|
891
891
|
new_val = mapped_cls(**value.__dict__,
|
892
892
|
data_model=data_model,
|
@@ -1346,7 +1346,7 @@ def add_properties(prop_name: str,
|
|
1346
1346
|
getx.__taxonomy__ = taxonomy
|
1347
1347
|
content = taxonomy_map.get_content_by_property_name(prop_name)
|
1348
1348
|
|
1349
|
-
def setx(self, value: Union[int, float, SimComponent, SimultanObject]):
|
1349
|
+
def setx(self, value: Union[int, float, str, tuple, set, SimComponent, SimultanObject]):
|
1350
1350
|
self.__property_cache__.pop(content.text_or_key, None)
|
1351
1351
|
|
1352
1352
|
slot_extension = content.slot_extension
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: PySimultan
|
3
|
-
Version: 0.4.
|
3
|
+
Version: 0.4.14
|
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
|
@@ -1,13 +1,13 @@
|
|
1
|
-
PySimultan2/__about__.py,sha256=
|
1
|
+
PySimultan2/__about__.py,sha256=6OC6plJR5d0kJw5XJyL8rKxkkTz78h_EjPCQhVCjM0o,20
|
2
2
|
PySimultan2/__init__.py,sha256=cabTN1Oz8xtFM31ouBKg5lwLqW5vtexDP669PYyNLnA,3224
|
3
|
-
PySimultan2/data_model.py,sha256=
|
3
|
+
PySimultan2/data_model.py,sha256=7lh_t7sMKhXbUlbalL4CE2vRh2Xk-GpAeRQJyjv5V8U,26982
|
4
4
|
PySimultan2/default_types.py,sha256=v_4awsUURLbu4Sfw7J_7BoQKirXbKdU9s7-wqgA4nNE,23112
|
5
5
|
PySimultan2/files.py,sha256=gx3BA6WYjNVplqqes7jkPopp6O50pgLvantXgmitx54,12657
|
6
6
|
PySimultan2/multi_values.py,sha256=ZFXlTLuZo32x7_7diYAp2XEjp5uwgHLgNOzN7v74-5I,13650
|
7
|
-
PySimultan2/object_mapper.py,sha256=
|
8
|
-
PySimultan2/simultan_object.py,sha256=
|
7
|
+
PySimultan2/object_mapper.py,sha256=2VewplU_qaJV-TBeirbOmDzdPJ8Ie6WMTFN7je-ydW0,13218
|
8
|
+
PySimultan2/simultan_object.py,sha256=xpBmyJTkP7iHg4CgaoezBB5YxpES2RaoFOUSe_2jWwI,16899
|
9
9
|
PySimultan2/taxonomy_maps.py,sha256=IYpIat6ZJi5MyCbsjAxWvVOWDRp_VvSMWUY3CApKSik,8061
|
10
|
-
PySimultan2/utils.py,sha256=
|
10
|
+
PySimultan2/utils.py,sha256=lc1zLLTJRdOwH3tta8YqAXp17K0_aXRKllWFrWp2qMQ,62563
|
11
11
|
PySimultan2/geometry/__init__.py,sha256=nJolTD1i5J8qUkOQa-r3D20aq3Co3sN31Xc0n4wJpJo,248
|
12
12
|
PySimultan2/geometry/geometry_base.py,sha256=jOTNMISGLRjUUjVfPZ64A2Fp4oinv42polIct9bgIY4,23417
|
13
13
|
PySimultan2/geometry/utils.py,sha256=J25YsK8sso_UL7xRusItQZvyjtvxdOsSPelBQYFABhY,8519
|
@@ -75,7 +75,7 @@ PySimultan2/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
|
|
75
75
|
PySimultan2/resources/assimp.dll,sha256=HwfDwXqoPDTFRyoQpA3qmgZoUdFtziJkV5fNtktEZEU,6081536
|
76
76
|
PySimultan2/resources/defaultsettings.xml,sha256=s6Tk1tubLz5UYqXZWpD42EDHzedemRY1nEneoIVcUfg,392
|
77
77
|
PySimultan2/resources/setup.bat,sha256=fjvvYfVM6TalS-QTSiKAbAId5nTsk8kGGo06ba-wWaY,32
|
78
|
-
pysimultan-0.4.
|
79
|
-
pysimultan-0.4.
|
80
|
-
pysimultan-0.4.
|
81
|
-
pysimultan-0.4.
|
78
|
+
pysimultan-0.4.14.dist-info/METADATA,sha256=uaRJUL7LE8PdU_xhRtxovDXj9NbnwxKYlznO7mEOcGE,2483
|
79
|
+
pysimultan-0.4.14.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
|
80
|
+
pysimultan-0.4.14.dist-info/licenses/LICENSE.txt,sha256=pmSr98k6N005KMojnZxzLGRuRlDjDx3PUrK1lFj53HA,1126
|
81
|
+
pysimultan-0.4.14.dist-info/RECORD,,
|
File without changes
|
File without changes
|