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 CHANGED
@@ -1 +1 @@
1
- version = '0.4.12'
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
 
@@ -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 = list(data_models)[0]
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
@@ -2,7 +2,7 @@ import hashlib
2
2
  import json
3
3
 
4
4
  from copy import copy
5
- from weakref import WeakSet, WeakValueDictionary
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
- from .data_model import data_models
67
- if list(data_models.data).__len__() == 1:
68
- data_model = list(data_models.data)[0]()
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
- if config.get_default_data_model() is not None:
72
- logger.warning(
73
- f'No data model provided. Using default data model: {config.get_default_data_model().id}')
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.__init__(*args, **kwargs)
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: SimComponent,
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
- type(value), object_mapper.registered_classes))[0]
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.12
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=MkMmPeqymacyZEBg90eZ65LwKDDZpJmbjay0tT_M-4Q,20
1
+ PySimultan2/__about__.py,sha256=6OC6plJR5d0kJw5XJyL8rKxkkTz78h_EjPCQhVCjM0o,20
2
2
  PySimultan2/__init__.py,sha256=cabTN1Oz8xtFM31ouBKg5lwLqW5vtexDP669PYyNLnA,3224
3
- PySimultan2/data_model.py,sha256=3O6O2Lw0lQJtlwNa7_NuTjp4gpdHiusjXHyWtmmHtlU,27214
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=_uGFykv3zhlxyezJD1UGesDgnXHNU8uezzLGj69LM7M,12964
8
- PySimultan2/simultan_object.py,sha256=Plr9nwgRmKzdkTO7l8ksWekEow9pT-MgjjAfLlChgDI,17208
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=J3T7KDfONFeLWBulXmGMCaaOu5sfkDSHmI92JWO8dW4,62553
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.12.dist-info/METADATA,sha256=KuAlLSL--I3f7tTfNUgODVUH6RoRLdx6k8aZJECDkpg,2483
79
- pysimultan-0.4.12.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
80
- pysimultan-0.4.12.dist-info/licenses/LICENSE.txt,sha256=pmSr98k6N005KMojnZxzLGRuRlDjDx3PUrK1lFj53HA,1126
81
- pysimultan-0.4.12.dist-info/RECORD,,
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,,