PySimultan 0.5.4__tar.gz → 0.5.5__tar.gz
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.
- {pysimultan-0.5.4 → pysimultan-0.5.5}/PKG-INFO +1 -1
- pysimultan-0.5.5/src/PySimultan2/__about__.py +1 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/files.py +24 -4
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/utils.py +8 -1
- pysimultan-0.5.5/tests/test_directory_and_files.py +154 -0
- pysimultan-0.5.4/src/PySimultan2/__about__.py +0 -1
- pysimultan-0.5.4/tests/test_directory_and_files.py +0 -63
- pysimultan-0.5.4/tests/test_empty_file.txt +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/.gitignore +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/LICENSE.txt +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/README.md +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/pyproject.toml +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/CHANGELOG.md +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/__init__.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/data_model.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/default_types.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/geometry/__init__.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/geometry/geometry_base.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/geometry/utils.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/multi_values.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/object_mapper.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/AssimpNet.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/AvalonDock.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/BruTile.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/ClosedXML.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/ComponentBuilder.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/ComponentBuilder.dll.config +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/ComponentBuilder.runtimeconfig.json +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/ComponentBuilder.xml +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/ControlzEx.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/Cyotek.Drawing.BitmapFont.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/DocumentFormat.OpenXml.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/DotSpatial.Projections.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/ExcelNumberFormat.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/Fluent.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/HelixToolkit.Core.Wpf.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/HelixToolkit.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/MathNet.Numerics.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/Microsoft.AspNetCore.Authorization.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/Microsoft.Extensions.Logging.Abstractions.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/Microsoft.Extensions.Primitives.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.Shell.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/Newtonsoft.Json.Bson.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/Newtonsoft.Json.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll.config +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.DataTransferLibrary.dll.config +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/SIMULTAN.Lang.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/SIMULTAN.Lang.xml +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/SIMULTAN.Plugins.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/SIMULTAN.Plugins.xml +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/SIMULTAN.UI.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/SIMULTAN.UI.xml +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/SIMULTAN.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/SIMULTAN.xml +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/SharpDX.D3DCompiler.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/SharpDX.DXGI.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/SharpDX.Direct2D1.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/SharpDX.Direct3D11.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/SharpDX.Direct3D9.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/SharpDX.Mathematics.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/SharpDX.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/Sprache.Calc.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/Sprache.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/System.Collections.Immutable.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/System.Data.OleDb.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/System.Net.Http.Formatting.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/System.Reflection.Metadata.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/System.Reflection.MetadataLoadContext.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/XAMLMarkupExtensions.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/__init__.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/assimp.dll +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/componentmanager.user +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/defaultsettings.xml +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/setup.bat +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/simultan_object.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/taxonomy_maps.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/type_setter_lookup.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/__init__.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/__init__.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/create_component.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/create_component_with_taxonomy_slot.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/create_referenced_component.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/create_taxonomies.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/resources/__init__.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/resources/change_references_example.simultan +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/resources/empty_project.simultan +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/resources/empty_test_excel.xlsx +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/resources/example1.simultan +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/resources/example2.simultan +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/resources/example3.simultan +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/resources/example4_reference_list.simultan +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/resources/example_extend_1.simultan +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/resources/list_test.simultan +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/resources/template_example3.yml +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/resources/template_example4.yml +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/resources/template_example_create_typed_component.yml +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/resources/template_example_create_typed_component_with_slots.yml +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/resources/template_example_extend.yml +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/resources/template_example_update_references.yml +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/resources/template_reference_list.yml +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/resources/U5.simultan +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/resources/U5_1.simultan +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/resources/U5_orig.simultan +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/resources/__init__.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/resources/new_geometry_test.simultan +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/resources/new_test_file.txt +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/resources/new_test_file2.txt +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/resources/test_file.yml +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/resources/test_file_load.simultan +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/resources/test_file_project.simultan +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/resources/test_multi_value_big_table_load.simultan +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/resources/test_parameter_reference_project.simultan +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/resources/test_set_dictionary.simultan +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/test_calc_static_zone_temperature.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/test_calculate_steady_state_temperature.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/test_circular_references.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/test_create_geometry.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/test_files.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/test_files_load.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/test_load_geometry.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/test_load_multi_values.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/test_new_dll.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/test_new_project_creation.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/test_numeric_map.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/test_parameter_reference.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/test_pythonnet.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/test_register_class.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/test_register_decorator.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/test_set_attr_property.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/test_set_dictionary.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/test_set_properties.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/test_taxonomie_maps.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/test_taxonomies.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/test_ui.py +0 -0
- {pysimultan-0.5.4 → pysimultan-0.5.5}/tests/ui_minimal_example.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: PySimultan
|
|
3
|
-
Version: 0.5.
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
version = '0.5.5'
|
|
@@ -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.
|
|
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 =
|
|
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})'
|
|
@@ -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
|
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import os
|
|
2
|
+
from PySimultan2.src.PySimultan2 import DataModel, TaxonomyMap, Content, PythonMapper
|
|
3
|
+
from PySimultan2.src.PySimultan2.files import FileInfo, DirectoryInfo
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
project_dir = os.environ.get('PROJECT_DIR', '/simultan_projects')
|
|
7
|
+
if not os.path.exists(project_dir):
|
|
8
|
+
os.makedirs(project_dir)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
def test_files_and_directory_creation():
|
|
12
|
+
new_data_model = DataModel.create_new_project(project_path=os.path.join(project_dir, 'test_dir_files.simultan'),
|
|
13
|
+
user_name='admin',
|
|
14
|
+
password='admin')
|
|
15
|
+
|
|
16
|
+
print(new_data_model.file_directories)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
new_directory_info = DirectoryInfo(path='directory_info_dir',
|
|
20
|
+
data_model=new_data_model)
|
|
21
|
+
|
|
22
|
+
print(new_data_model.file_directories)
|
|
23
|
+
|
|
24
|
+
print(new_directory_info.resource_entry)
|
|
25
|
+
print(new_directory_info.parent)
|
|
26
|
+
|
|
27
|
+
new_file1 = new_directory_info.add_file('test_add_file.txt', 'This is a test file')
|
|
28
|
+
new_file2 = new_directory_info.add_file('test_add_file2.txt')
|
|
29
|
+
|
|
30
|
+
sub_directory_info = new_directory_info.add_sub_directory('sub_dir')
|
|
31
|
+
print(sub_directory_info.parent)
|
|
32
|
+
|
|
33
|
+
print(new_directory_info.sub_directories)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
new_directory = new_data_model.create_resource_directory('test_dir')
|
|
37
|
+
new_directory2 = new_data_model.create_resource_directory('test_dir2')
|
|
38
|
+
new_directory4 = new_data_model.create_resource_directory('test_dir3')
|
|
39
|
+
|
|
40
|
+
new_data_model.add_empty_resource(filename=os.path.join(new_directory.CurrentFullPath, 'test_empty_file.txt'))
|
|
41
|
+
|
|
42
|
+
new_data_model.add_empty_resource(filename='test_empty_file2.txt',
|
|
43
|
+
target_dir=new_directory)
|
|
44
|
+
|
|
45
|
+
new_file_info0 = FileInfo.from_string(filename='test_file.txt',
|
|
46
|
+
content='This is a test file',
|
|
47
|
+
data_model=new_data_model)
|
|
48
|
+
|
|
49
|
+
new_file_info = FileInfo.from_string(filename='test_file.txt',
|
|
50
|
+
content='This is a test file',
|
|
51
|
+
target_dir=new_directory,
|
|
52
|
+
data_model=new_data_model)
|
|
53
|
+
|
|
54
|
+
new_file_info2 = FileInfo.from_string(filename='test_file2.txt',
|
|
55
|
+
content='This is a test file 2',
|
|
56
|
+
target_dir=new_directory2.current_full_path,
|
|
57
|
+
data_model=new_data_model)
|
|
58
|
+
|
|
59
|
+
# create just a file in the directory
|
|
60
|
+
with open(os.path.join(new_directory2.current_full_path, 'not_contained_test_file3.txt'), 'w') as f:
|
|
61
|
+
f.write('This is a test file 3')
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
new_data_model.save()
|
|
65
|
+
new_data_model.cleanup()
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
def create_mapper():
|
|
69
|
+
mapper = PythonMapper()
|
|
70
|
+
|
|
71
|
+
class TestComponent(object):
|
|
72
|
+
def __init__(self, *args, **kwargs):
|
|
73
|
+
self.file = kwargs.get('file')
|
|
74
|
+
self.directory = kwargs.get('directory')
|
|
75
|
+
self.param_1 = kwargs.get('param_1')
|
|
76
|
+
self.param_2 = kwargs.get('param_2')
|
|
77
|
+
|
|
78
|
+
content0 = Content(text_or_key='file', # text or key of the content/parameter/property
|
|
79
|
+
property_name='file', # name of the generated property
|
|
80
|
+
type='file', # type of the content/parameter/property
|
|
81
|
+
unit=None, # unit of the content/parameter/property
|
|
82
|
+
documentation='file_value to test')
|
|
83
|
+
|
|
84
|
+
content1 = Content(text_or_key='directory', # text or key of the content/parameter/property
|
|
85
|
+
property_name='directory', # name of the generated property
|
|
86
|
+
type='file', # type of the content/parameter/property
|
|
87
|
+
unit=None, # unit of the content/parameter/property
|
|
88
|
+
documentation='file_value_2 to test')
|
|
89
|
+
|
|
90
|
+
content2 = Content(text_or_key='param_1', # text or key of the content/parameter/property
|
|
91
|
+
property_name='param_1', # name of the generated property
|
|
92
|
+
type=None, # type of the content/parameter/property
|
|
93
|
+
unit=None, # unit of the content/parameter/property
|
|
94
|
+
documentation='param_1 to test')
|
|
95
|
+
|
|
96
|
+
content3 = Content(text_or_key='param_2', # text or key of the content/parameter/property
|
|
97
|
+
property_name='param_2', # name of the generated property
|
|
98
|
+
type=None, # type of the content/parameter/property
|
|
99
|
+
unit=None, # unit of the content/parameter/property
|
|
100
|
+
documentation='param_2 to test')
|
|
101
|
+
|
|
102
|
+
test_component_map = TaxonomyMap(taxonomy_name='PySimultan',
|
|
103
|
+
taxonomy_key='Test',
|
|
104
|
+
taxonomy_entry_name='test_component',
|
|
105
|
+
taxonomy_entry_key='test_component',
|
|
106
|
+
content=[content0, content1, content2, content3],
|
|
107
|
+
)
|
|
108
|
+
|
|
109
|
+
mapper.register(test_component_map.taxonomy_entry_key, TestComponent, taxonomy_map=test_component_map)
|
|
110
|
+
|
|
111
|
+
return mapper
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
def test_component_with_directory():
|
|
115
|
+
|
|
116
|
+
new_data_model = DataModel.create_new_project(project_path=os.path.join(project_dir, 'test_dir_component.simultan'),
|
|
117
|
+
user_name='admin',
|
|
118
|
+
password='admin')
|
|
119
|
+
|
|
120
|
+
mapper = create_mapper()
|
|
121
|
+
mapped_test_component_cls = mapper.get_mapped_class('test_component')
|
|
122
|
+
|
|
123
|
+
new_component = mapped_test_component_cls(file=FileInfo.from_string(filename='test_file.txt',
|
|
124
|
+
content='This is a test file',
|
|
125
|
+
data_model=new_data_model),
|
|
126
|
+
directory=DirectoryInfo(path='test_dir',
|
|
127
|
+
data_model=new_data_model),
|
|
128
|
+
param_1='param_1_value',
|
|
129
|
+
param_2=2)
|
|
130
|
+
|
|
131
|
+
print(new_component.directory)
|
|
132
|
+
|
|
133
|
+
new_data_model.save()
|
|
134
|
+
new_data_model.cleanup()
|
|
135
|
+
mapper.clear()
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
def test_load_component_with_directory():
|
|
139
|
+
new_data_model = DataModel(project_path=os.path.join(project_dir, 'test_dir_component.simultan'))
|
|
140
|
+
|
|
141
|
+
mapper = create_mapper()
|
|
142
|
+
typed_data = new_data_model.get_typed_data(mapper=mapper)
|
|
143
|
+
mapped_test_component_cls = mapper.get_mapped_class('test_component')
|
|
144
|
+
|
|
145
|
+
assert isinstance(mapped_test_component_cls.cls_instances[0].directory, DirectoryInfo)
|
|
146
|
+
|
|
147
|
+
new_data_model.cleanup()
|
|
148
|
+
mapper.clear()
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
if __name__ == '__main__':
|
|
152
|
+
# test_files_and_directory_creation()
|
|
153
|
+
test_component_with_directory()
|
|
154
|
+
test_load_component_with_directory()
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
version = '0.5.4'
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import os
|
|
2
|
-
from PySimultan2.src.PySimultan2 import DataModel
|
|
3
|
-
from PySimultan2.src.PySimultan2.files import FileInfo, DirectoryInfo
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
project_dir = os.environ.get('PROJECT_DIR', '/simultan_projects')
|
|
7
|
-
if not os.path.exists(project_dir):
|
|
8
|
-
os.makedirs(project_dir)
|
|
9
|
-
|
|
10
|
-
new_data_model = DataModel.create_new_project(project_path=os.path.join(project_dir, 'test_dir_files.simultan'),
|
|
11
|
-
user_name='admin',
|
|
12
|
-
password='admin')
|
|
13
|
-
|
|
14
|
-
print(new_data_model.file_directories)
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
new_directory_info = DirectoryInfo(path='directory_info_dir',
|
|
18
|
-
data_model=new_data_model)
|
|
19
|
-
|
|
20
|
-
print(new_data_model.file_directories)
|
|
21
|
-
|
|
22
|
-
print(new_directory_info.resource_entry)
|
|
23
|
-
print(new_directory_info.parent)
|
|
24
|
-
|
|
25
|
-
new_file1 = new_directory_info.add_file('test_add_file.txt', 'This is a test file')
|
|
26
|
-
new_file2 = new_directory_info.add_file('test_add_file2.txt')
|
|
27
|
-
|
|
28
|
-
sub_directory_info = new_directory_info.add_sub_directory('sub_dir')
|
|
29
|
-
print(sub_directory_info.parent)
|
|
30
|
-
|
|
31
|
-
print(new_directory_info.sub_directories)
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
new_directory = new_data_model.create_resource_directory('test_dir')
|
|
35
|
-
new_directory2 = new_data_model.create_resource_directory('test_dir2')
|
|
36
|
-
new_directory4 = new_data_model.create_resource_directory('test_dir3')
|
|
37
|
-
|
|
38
|
-
new_data_model.add_empty_resource(filename=os.path.join(new_directory.CurrentFullPath, 'test_empty_file.txt'))
|
|
39
|
-
|
|
40
|
-
new_data_model.add_empty_resource(filename='test_empty_file2.txt',
|
|
41
|
-
target_dir=new_directory)
|
|
42
|
-
|
|
43
|
-
new_file_info0 = FileInfo.from_string(filename='test_file.txt',
|
|
44
|
-
content='This is a test file',
|
|
45
|
-
data_model=new_data_model)
|
|
46
|
-
|
|
47
|
-
new_file_info = FileInfo.from_string(filename='test_file.txt',
|
|
48
|
-
content='This is a test file',
|
|
49
|
-
target_dir=new_directory,
|
|
50
|
-
data_model=new_data_model)
|
|
51
|
-
|
|
52
|
-
new_file_info2 = FileInfo.from_string(filename='test_file2.txt',
|
|
53
|
-
content='This is a test file 2',
|
|
54
|
-
target_dir=new_directory2.current_full_path,
|
|
55
|
-
data_model=new_data_model)
|
|
56
|
-
|
|
57
|
-
# create just a file in the directory
|
|
58
|
-
with open(os.path.join(new_directory2.current_full_path, 'not_contained_test_file3.txt'), 'w') as f:
|
|
59
|
-
f.write('This is a test file 3')
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
new_data_model.save()
|
|
63
|
-
new_data_model.cleanup()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/ComponentBuilder.runtimeconfig.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/Cyotek.Drawing.BitmapFont.dll
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.Wpf.dll
RENAMED
|
File without changes
|
{pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/HelixToolkit.SharpDX.Core.dll
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/Microsoft.AspNetCore.Metadata.dll
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/Microsoft.Extensions.Options.dll
RENAMED
|
File without changes
|
{pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/Microsoft.Extensions.Primitives.dll
RENAMED
|
File without changes
|
|
File without changes
|
{pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/Microsoft.WindowsAPICodePack.dll
RENAMED
|
File without changes
|
{pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/Microsoft.Xaml.Behaviors.dll
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/SIMULTAN.AutoUpdate.Client.dll
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/System.Collections.Immutable.dll
RENAMED
|
File without changes
|
|
File without changes
|
{pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/System.Net.Http.Formatting.dll
RENAMED
|
File without changes
|
{pysimultan-0.5.4 → pysimultan-0.5.5}/src/PySimultan2/resources/System.Reflection.Metadata.dll
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/create_component_with_taxonomy_slot.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/resources/empty_project.simultan
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/resources/example_extend_1.simultan
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/resources/template_example_extend.yml
RENAMED
|
File without changes
|
|
File without changes
|
{pysimultan-0.5.4 → pysimultan-0.5.5}/tests/readme_examples/resources/template_reference_list.yml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pysimultan-0.5.4 → pysimultan-0.5.5}/tests/resources/test_multi_value_big_table_load.simultan
RENAMED
|
File without changes
|
{pysimultan-0.5.4 → pysimultan-0.5.5}/tests/resources/test_parameter_reference_project.simultan
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|