PySimultan 0.4.12__py3-none-any.whl → 0.4.14__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
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,,