PySimultan 0.5.4__py3-none-any.whl → 0.5.5__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.5.4'
1
+ version = '0.5.5'
PySimultan2/files.py CHANGED
@@ -129,7 +129,7 @@ def create_asset_from_string(filename: str,
129
129
 
130
130
  if target_dir is not None:
131
131
  if isinstance(target_dir, DirectoryInfo):
132
- target_dir = target_dir.current_full_path
132
+ target_dir = target_dir.full_path
133
133
 
134
134
  resource = data_model.add_resource(filepath,
135
135
  target_dir=target_dir)
@@ -324,6 +324,11 @@ class FileInfo(object, metaclass=MetaMock):
324
324
  except Exception as e:
325
325
  return None
326
326
 
327
+ @property
328
+ def directory(self) -> DirectoryInfo:
329
+ return DirectoryInfo(resource_entry=self.resource_entry.Parent,
330
+ data_model=self.data_model)
331
+
327
332
  @property
328
333
  def resource_entry(self) -> Union[ResourceFileEntry, ContainedResourceFileEntry, None]:
329
334
  if self._resource_entry is None:
@@ -505,14 +510,18 @@ class DirectoryInfo(object, metaclass=DirectoryInfoMetaMock):
505
510
 
506
511
  def __init__(self,
507
512
  path: Optional[str] = None,
513
+ helper_file: Optional[FileInfo] = None,
514
+ resource_entry: Optional[ResourceDirectoryEntry] = None,
508
515
  *args,
509
516
  **kwargs):
510
517
 
511
518
  self._resource_entry: Optional[ResourceDirectoryEntry] = None
519
+ self._helper_file: Optional[FileInfo] = None
512
520
  self.data_model: Optional[DataModel] = kwargs.get('data_model', None)
513
521
  self.path: str = path
514
522
 
515
- self.resource_entry = kwargs.get('resource_entry', None)
523
+ self.resource_entry = resource_entry
524
+ self.helper_file = helper_file
516
525
 
517
526
  @property
518
527
  def tags(self) -> List[SimTaxonomyEntry]:
@@ -526,6 +535,17 @@ class DirectoryInfo(object, metaclass=DirectoryInfoMetaMock):
526
535
  def relative_path(self) -> str:
527
536
  return self.resource_entry.CurrentRelativePath
528
537
 
538
+ @property
539
+ def helper_file(self) -> Optional[FileInfo]:
540
+ if self._helper_file is None:
541
+ self._helper_file = self.add_file('__dir_helper_file__')
542
+
543
+ return self._helper_file
544
+
545
+ @helper_file.setter
546
+ def helper_file(self, value):
547
+ self._helper_file = value
548
+
529
549
  @property
530
550
  def resource_entry(self) -> Optional[ResourceDirectoryEntry]:
531
551
  if self._resource_entry is None:
@@ -578,7 +598,7 @@ class DirectoryInfo(object, metaclass=DirectoryInfoMetaMock):
578
598
  (
579
599
  ResourceFileEntry,
580
600
  ContainedResourceFileEntry)
581
- )
601
+ ) and entry.Name != '__dir_helper_file__'
582
602
  ]
583
603
 
584
604
  @property
@@ -610,4 +630,4 @@ class DirectoryInfo(object, metaclass=DirectoryInfoMetaMock):
610
630
  add_tag_to_resource(self.resource_entry, tag)
611
631
 
612
632
  def __repr__(self):
613
- return f'DirectoryInfo(key:{self.key}, hash: {hash(self)}; {self.full_path};)'
633
+ return f'DirectoryInfo(key:{self.key}, hash: {hash(self)}; {self.full_path})'
PySimultan2/utils.py CHANGED
@@ -770,6 +770,13 @@ def get_resource_entry_value(obj: ResourceEntry,
770
770
  data_model: DataModel = None,
771
771
  object_mapper: PythonMapper = None) -> Union[FileInfo, DirectoryInfo]:
772
772
  if isinstance(obj, (ResourceFileEntry, ContainedResourceFileEntry, LinkedResourceFileEntry)):
773
+
774
+ if obj.Name == '__dir_helper_file__':
775
+ return DirectoryInfo(file_path=obj.Parent.CurrentFullPath,
776
+ resource_entry=obj.Parent,
777
+ helper_file=obj,
778
+ data_model=data_model)
779
+
773
780
  return FileInfo(file_path=obj.File.FullPath,
774
781
  resource_entry=obj,
775
782
  data_model=data_model)
@@ -1203,7 +1210,7 @@ def set_property_to_directory_info(value: DirectoryInfo,
1203
1210
  ref_asset_idx = None
1204
1211
 
1205
1212
  add_asset_to_component(component._wrapped_obj,
1206
- value.resource_entry,
1213
+ value.helper_file.resource_entry,
1207
1214
  '0',
1208
1215
  tag=taxonomy_entry)
1209
1216
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: PySimultan
3
- Version: 0.5.4
3
+ Version: 0.5.5
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,15 +1,15 @@
1
1
  PySimultan2/CHANGELOG.md,sha256=LeVHBC6dGDwDwgXipNrwgvgews9QkyjsqtYa_jiLMm0,217
2
- PySimultan2/__about__.py,sha256=N_0JaEMS7tHfCVPCoxXAr5ZZHHSVV9O6Uipd_gj4y00,19
2
+ PySimultan2/__about__.py,sha256=vzEzJZ6JrU1XuEoNmBm-CHsw0z44e2mWFvuJveRe8YM,19
3
3
  PySimultan2/__init__.py,sha256=PGVR1uhY01dF5tHyad-znURUZ_LVB95vsjId2BT0aJM,3245
4
4
  PySimultan2/data_model.py,sha256=YYtfcR6jvGztng6Be8Vw9FQ02cPkl8ATHTZMoIu1ABQ,34140
5
5
  PySimultan2/default_types.py,sha256=K-Eka5BCKk8DT3HU5761Ym_-ZFmu1_Dro0zW0LVGoHA,27157
6
- PySimultan2/files.py,sha256=j3mGpu63h4BCDzyAZSfOIeylLysIUas3ac1MAeRhLXY,21709
6
+ PySimultan2/files.py,sha256=BCETl4M8qedw7Bjt8QXvY6Rl3U6Lou36XqPY2ST1o9Q,22447
7
7
  PySimultan2/multi_values.py,sha256=ZFXlTLuZo32x7_7diYAp2XEjp5uwgHLgNOzN7v74-5I,13650
8
8
  PySimultan2/object_mapper.py,sha256=_SQye38NmIr4m_-X9CuvUJnVDBmjmUDdPH2bnaxpzKY,18546
9
9
  PySimultan2/simultan_object.py,sha256=akaSUZZWIVfwx1wT5EdOgRR2UeShUthX-LE2Uk6w8CQ,19058
10
10
  PySimultan2/taxonomy_maps.py,sha256=abMB2RSKEaliW-Ewegq-Inq9npHeOD1VVrMYoKJAlC0,8762
11
11
  PySimultan2/type_setter_lookup.py,sha256=px92E-BlnvY-11F-F7L7cOwbE1_L8FQVqi-23nJi5j4,3518
12
- PySimultan2/utils.py,sha256=2rVCg6rX4kI3H4ziOm4ki-akTBJJlBr1n_6-mGSes5M,66388
12
+ PySimultan2/utils.py,sha256=TOrMMTh6n63VgjEGVX6j67_jhUx4ImFI39X61g0OegQ,66692
13
13
  PySimultan2/geometry/__init__.py,sha256=nJolTD1i5J8qUkOQa-r3D20aq3Co3sN31Xc0n4wJpJo,248
14
14
  PySimultan2/geometry/geometry_base.py,sha256=nbb9U2W3vFviVLxISLHRi2CVyLEM-3zIKvoZ1uSYs_8,23420
15
15
  PySimultan2/geometry/utils.py,sha256=J25YsK8sso_UL7xRusItQZvyjtvxdOsSPelBQYFABhY,8519
@@ -75,7 +75,7 @@ PySimultan2/resources/assimp.dll,sha256=HwfDwXqoPDTFRyoQpA3qmgZoUdFtziJkV5fNtktE
75
75
  PySimultan2/resources/componentmanager.user,sha256=hrzr1US4pqkFnLHXcvPkvrgGd7QvlxaV8mhS6fuikEs,760
76
76
  PySimultan2/resources/defaultsettings.xml,sha256=s6Tk1tubLz5UYqXZWpD42EDHzedemRY1nEneoIVcUfg,392
77
77
  PySimultan2/resources/setup.bat,sha256=fjvvYfVM6TalS-QTSiKAbAId5nTsk8kGGo06ba-wWaY,32
78
- pysimultan-0.5.4.dist-info/METADATA,sha256=rpPIvUKiZc-IY9kSfDo9wPpGJY5Hd0A31UXgbmnQ6kM,2665
79
- pysimultan-0.5.4.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
80
- pysimultan-0.5.4.dist-info/licenses/LICENSE.txt,sha256=pmSr98k6N005KMojnZxzLGRuRlDjDx3PUrK1lFj53HA,1126
81
- pysimultan-0.5.4.dist-info/RECORD,,
78
+ pysimultan-0.5.5.dist-info/METADATA,sha256=vqTp0MfBHnJUxHyFF_DCVeAXKICkXCsiVvuRINKvZXw,2665
79
+ pysimultan-0.5.5.dist-info/WHEEL,sha256=C2FUgwZgiLbznR-k0b_5k3Ai_1aASOXDss3lzCUsUug,87
80
+ pysimultan-0.5.5.dist-info/licenses/LICENSE.txt,sha256=pmSr98k6N005KMojnZxzLGRuRlDjDx3PUrK1lFj53HA,1126
81
+ pysimultan-0.5.5.dist-info/RECORD,,