PySimultan 0.4.5__py3-none-any.whl → 0.4.7__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/__init__.py +1 -0
- PySimultan2/data_model.py +3 -1
- PySimultan2/object_mapper.py +22 -8
- {pysimultan-0.4.5.dist-info → pysimultan-0.4.7.dist-info}/METADATA +1 -1
- {pysimultan-0.4.5.dist-info → pysimultan-0.4.7.dist-info}/RECORD +8 -8
- {pysimultan-0.4.5.dist-info → pysimultan-0.4.7.dist-info}/WHEEL +0 -0
- {pysimultan-0.4.5.dist-info → pysimultan-0.4.7.dist-info}/licenses/LICENSE.txt +0 -0
PySimultan2/__about__.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
version = '0.4.
|
1
|
+
version = '0.4.7'
|
PySimultan2/__init__.py
CHANGED
PySimultan2/data_model.py
CHANGED
@@ -263,7 +263,9 @@ class DataModel:
|
|
263
263
|
def project(self, value):
|
264
264
|
self._project = value
|
265
265
|
|
266
|
-
def get_typed_data(self,
|
266
|
+
def get_typed_data(self,
|
267
|
+
mapper: 'PythonMapper',
|
268
|
+
create_all=False) -> list[SimultanObject]:
|
267
269
|
"""
|
268
270
|
Return the typed data from the project
|
269
271
|
:param mapper:
|
PySimultan2/object_mapper.py
CHANGED
@@ -1,9 +1,7 @@
|
|
1
|
+
from copy import copy
|
1
2
|
from collections import UserList
|
2
|
-
from weakref import WeakSet
|
3
|
-
from typing import Type
|
4
3
|
from colorlog import getLogger
|
5
4
|
|
6
|
-
from . import config
|
7
5
|
from .data_model import data_models
|
8
6
|
from .utils import *
|
9
7
|
from .default_types import ComponentList, component_list_map, ComponentDictionary, component_dict_map
|
@@ -16,6 +14,8 @@ from SIMULTAN.Data.Components import SimComponent
|
|
16
14
|
from .geometry.geometry_base import (SimultanLayer, SimultanVertex, SimultanEdge, SimultanEdgeLoop, SimultanFace,
|
17
15
|
SimultanVolume)
|
18
16
|
|
17
|
+
from .taxonomy_maps import TaxonomyMap, Content
|
18
|
+
|
19
19
|
logger = getLogger('PySimultan')
|
20
20
|
|
21
21
|
default_registered_classes = {'ComponentList': ComponentList,
|
@@ -35,9 +35,12 @@ class PythonMapper(object):
|
|
35
35
|
def __init__(self, *args, **kwargs):
|
36
36
|
|
37
37
|
self.name = kwargs.get('name', 'PythonMapper')
|
38
|
-
self.registered_classes = default_registered_classes
|
39
|
-
|
40
|
-
self.
|
38
|
+
self.registered_classes: dict[str: SimultanObject] = copy(default_registered_classes) # dict with all registered classes: {taxonomy: class}
|
39
|
+
|
40
|
+
self.undefined_registered_classes: dict[str: SimultanObject] = {} # dict with all registered classes: {taxonomy: class}
|
41
|
+
|
42
|
+
self.mapped_classes = copy(default_mapped_classes) # dict with all mapped classes: {taxonomy: class}
|
43
|
+
self.taxonomy_maps = copy(default_taxonomy_maps) # dict with all taxonomie maps: {taxonomy: taxonomie_map}
|
41
44
|
|
42
45
|
self.registered_geometry_classes = {Layer: SimultanLayer,
|
43
46
|
Vertex: SimultanVertex,
|
@@ -47,11 +50,18 @@ class PythonMapper(object):
|
|
47
50
|
EdgeLoop: SimultanEdgeLoop}
|
48
51
|
|
49
52
|
self.re_register = False
|
53
|
+
self.load_undefined = True
|
50
54
|
|
51
55
|
def register(self, taxonomy, cls, taxonomy_map=None):
|
52
56
|
if not self.re_register and taxonomy in self.registered_classes.keys():
|
53
57
|
return
|
54
58
|
|
59
|
+
if taxonomy_map is None:
|
60
|
+
taxonomy_map = TaxonomyMap(taxonomy_name='PySimultan',
|
61
|
+
taxonomy_key='PySimultan',
|
62
|
+
taxonomy_entry_name=taxonomy,
|
63
|
+
taxonomy_entry_key=taxonomy)
|
64
|
+
|
55
65
|
self.registered_classes[taxonomy] = cls
|
56
66
|
self.taxonomy_maps[taxonomy] = taxonomy_map
|
57
67
|
|
@@ -167,16 +177,20 @@ class PythonMapper(object):
|
|
167
177
|
logger.warning(f'No data model provided. Using default data model: {config.get_default_data_model().id}.')
|
168
178
|
data_model = config.get_default_data_model()
|
169
179
|
|
170
|
-
if isinstance(component,
|
180
|
+
if isinstance(component,
|
181
|
+
(Layer, Vertex, Edge, PEdge, Face, Volume, EdgeLoop)
|
182
|
+
):
|
171
183
|
self.create_python_geometry_object(component, data_model, *args, **kwargs)
|
172
184
|
|
173
185
|
if cls is None:
|
174
186
|
c_slots = [x.Target.Key for x in component.Slots.Items]
|
175
187
|
c_slot = list(set(c_slots) & set(self.registered_classes.keys()))
|
176
188
|
if len(c_slot) == 0:
|
177
|
-
if c_slots[0] not in self.registered_classes.keys():
|
189
|
+
if c_slots[0] not in self.registered_classes.keys() and self.load_undefined:
|
178
190
|
self.register(c_slots[0], SimultanObject)
|
179
191
|
c_slot = [c_slots[0]]
|
192
|
+
self.undefined_registered_classes[c_slot[0]] = SimultanObject
|
193
|
+
self.create_mapped_class(c_slot[0], self.registered_classes[c_slot[0]])
|
180
194
|
elif len(c_slot) > 1:
|
181
195
|
num_superclasses = [len(self.registered_classes[x].__mro__) for x in c_slot]
|
182
196
|
c_slot = [c_slot[num_superclasses.index(max(num_superclasses))]]
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: PySimultan
|
3
|
-
Version: 0.4.
|
3
|
+
Version: 0.4.7
|
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,10 +1,10 @@
|
|
1
|
-
PySimultan2/__about__.py,sha256=
|
2
|
-
PySimultan2/__init__.py,sha256=
|
3
|
-
PySimultan2/data_model.py,sha256=
|
1
|
+
PySimultan2/__about__.py,sha256=EXLXxXcwrzEc6_sD7Rj1mFJyQXofYegqzwczrtGZZUw,19
|
2
|
+
PySimultan2/__init__.py,sha256=cabTN1Oz8xtFM31ouBKg5lwLqW5vtexDP669PYyNLnA,3224
|
3
|
+
PySimultan2/data_model.py,sha256=CHLfdOFF1blU-TBcn9vK98ejNRMrXUS-hvQEkZI9y4U,27016
|
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=
|
7
|
+
PySimultan2/object_mapper.py,sha256=CM8L00-RRwUrU_wuhPAIgWJ_-Z0zLCbxo8rkxDzEoe8,10916
|
8
8
|
PySimultan2/simultan_object.py,sha256=Plr9nwgRmKzdkTO7l8ksWekEow9pT-MgjjAfLlChgDI,17208
|
9
9
|
PySimultan2/taxonomy_maps.py,sha256=aU9zUJph7QcInIZq0W-Vqoy4DYr0CEs-VsXwPMK_cxU,7976
|
10
10
|
PySimultan2/utils.py,sha256=J3T7KDfONFeLWBulXmGMCaaOu5sfkDSHmI92JWO8dW4,62553
|
@@ -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.7.dist-info/METADATA,sha256=9PcCjKXasMhL1RrV9bLtZr8TaynqhDK22xXVpvsjtZo,1657
|
79
|
+
pysimultan-0.4.7.dist-info/WHEEL,sha256=zEMcRr9Kr03x1ozGwg5v9NQBKn3kndp6LSoSlVg-jhU,87
|
80
|
+
pysimultan-0.4.7.dist-info/licenses/LICENSE.txt,sha256=pmSr98k6N005KMojnZxzLGRuRlDjDx3PUrK1lFj53HA,1126
|
81
|
+
pysimultan-0.4.7.dist-info/RECORD,,
|
File without changes
|
File without changes
|