fmu-manipulation-toolbox 1.9rc8__tar.gz → 1.9rc9__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.
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/PKG-INFO +1 -1
- fmu_manipulation_toolbox-1.9rc9/fmu_manipulation_toolbox/__version__.py +1 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/cli/fmutool.py +1 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/help.py +3 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/operations.py +81 -18
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/darwin64/container.dylib +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/linux32/client_sm.so +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/linux64/client_sm.so +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/linux64/container.so +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/win32/client_sm.dll +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/win32/server_sm.exe +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/win64/client_sm.dll +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/win64/container.dll +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/win64/server_sm.exe +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox.egg-info/PKG-INFO +1 -1
- fmu_manipulation_toolbox-1.9rc8/fmu_manipulation_toolbox/__version__.py +0 -1
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/LICENSE.txt +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/README.md +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/__init__.py +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/__main__.py +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/assembly.py +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/checker.py +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/cli/__init__.py +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/cli/fmucontainer.py +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/cli/fmusplit.py +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/cli/utils.py +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/container.py +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/gui.py +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/gui_style.py +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/remoting.py +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/checkbox-checked-disabled.png +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/checkbox-checked-hover.png +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/checkbox-checked.png +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/checkbox-unchecked-disabled.png +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/checkbox-unchecked-hover.png +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/checkbox-unchecked.png +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/container.png +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/drop_fmu.png +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/fmi-2.0/fmi2Annotation.xsd +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/fmi-2.0/fmi2AttributeGroups.xsd +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/fmi-2.0/fmi2ModelDescription.xsd +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/fmi-2.0/fmi2ScalarVariable.xsd +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/fmi-2.0/fmi2Type.xsd +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/fmi-2.0/fmi2Unit.xsd +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/fmi-2.0/fmi2VariableDependency.xsd +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3Annotation.xsd +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3AttributeGroups.xsd +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3BuildDescription.xsd +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3InterfaceType.xsd +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3LayeredStandardManifest.xsd +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3ModelDescription.xsd +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3Terminal.xsd +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3TerminalsAndIcons.xsd +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3Type.xsd +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3Unit.xsd +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3Variable.xsd +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3VariableDependency.xsd +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/fmu.png +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/fmu_manipulation_toolbox.png +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/help.png +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/icon-round.png +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/icon.png +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/icon_fmu.png +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/license.txt +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/linux32/server_sm +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/linux64/server_sm +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/mask.png +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/resources/model.png +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/split.py +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/version.py +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox.egg-info/SOURCES.txt +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox.egg-info/dependency_links.txt +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox.egg-info/entry_points.txt +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox.egg-info/requires.txt +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox.egg-info/top_level.txt +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/setup.cfg +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/setup.py +0 -0
- {fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/tests/test_suite.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fmu_manipulation_toolbox
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.9rc9
|
|
4
4
|
Summary: FMU Manipulation Toolbox is a python application for modifying Functional Mock-up Units (FMUs) without recompilation or bundling them into FMU Containers
|
|
5
5
|
Home-page: https://github.com/grouperenault/fmu_manipulation_toolbox/
|
|
6
6
|
Author: Nicolas.LAURENT@Renault.com
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'V1.9-rc9'
|
|
@@ -66,6 +66,7 @@ def fmutool(command_options: Sequence[str]):
|
|
|
66
66
|
add_option('-only-parameters', action='append_const', dest='apply_on', const='parameter')
|
|
67
67
|
add_option('-only-inputs', action='append_const', dest='apply_on', const='input')
|
|
68
68
|
add_option('-only-outputs', action='append_const', dest='apply_on', const='output')
|
|
69
|
+
add_option('-only-locals', action='append_const', dest='apply_on', const='local')
|
|
69
70
|
# Checker
|
|
70
71
|
add_option('-summary', action='append_const', dest='operations_list', const=OperationSummary())
|
|
71
72
|
add_option('-check', action='append_const', dest='operations_list', const=[checker() for checker in checker_list])
|
{fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/help.py
RENAMED
|
@@ -73,6 +73,9 @@ class Help:
|
|
|
73
73
|
'-only-outputs': "apply operation only on ports with causality = 'output'. This "
|
|
74
74
|
"option is available from version 1.3.",
|
|
75
75
|
|
|
76
|
+
'-only-locals': "apply operation only on ports with causality = 'local'. This "
|
|
77
|
+
"option is available from version 1.9.",
|
|
78
|
+
|
|
76
79
|
'-summary': "display useful information regarding the FMU.",
|
|
77
80
|
|
|
78
81
|
'-check': "performs some check of FMU and display Errors or Warnings. This is useful to avoid later "
|
|
@@ -112,6 +112,8 @@ class FMUError(Exception):
|
|
|
112
112
|
|
|
113
113
|
class Manipulation:
|
|
114
114
|
"""Parse modelDescription.xml file and create a modified version"""
|
|
115
|
+
TAGS_MODEL_STRUCTURE = ("InitialUnknowns", "Derivatives", "Outputs")
|
|
116
|
+
|
|
115
117
|
def __init__(self, operation, fmu):
|
|
116
118
|
self.output_filename = tempfile.mktemp()
|
|
117
119
|
self.out = None
|
|
@@ -120,7 +122,14 @@ class Manipulation:
|
|
|
120
122
|
self.parser.StartElementHandler = self.start_element
|
|
121
123
|
self.parser.EndElementHandler = self.end_element
|
|
122
124
|
self.parser.CharacterDataHandler = self.char_data
|
|
125
|
+
|
|
126
|
+
# used for filter
|
|
123
127
|
self.skip_until: Optional[str] = None
|
|
128
|
+
|
|
129
|
+
# used to remove empty sections
|
|
130
|
+
self.delayed_tag = None
|
|
131
|
+
self.delayed_tag_open = False
|
|
132
|
+
|
|
124
133
|
self.operation.set_fmu(fmu)
|
|
125
134
|
self.fmu = fmu
|
|
126
135
|
|
|
@@ -155,6 +164,7 @@ class Manipulation:
|
|
|
155
164
|
def start_element(self, name, attrs):
|
|
156
165
|
if self.skip_until:
|
|
157
166
|
return
|
|
167
|
+
|
|
158
168
|
try:
|
|
159
169
|
if name == 'ScalarVariable': # FMI 2.0 only
|
|
160
170
|
self.current_port = FMUPort()
|
|
@@ -176,7 +186,7 @@ class Manipulation:
|
|
|
176
186
|
self.operation.fmi_attrs(attrs)
|
|
177
187
|
elif name == 'Unknown': # FMI-2.0 only
|
|
178
188
|
self.unknown_attrs(attrs)
|
|
179
|
-
elif name == 'Output' or name == "ContinuousStateDerivative" or "InitialUnknown":
|
|
189
|
+
elif name == 'Output' or name == "ContinuousStateDerivative" or "InitialUnknown": # FMI-3.0 only
|
|
180
190
|
self.handle_structure(attrs)
|
|
181
191
|
|
|
182
192
|
except ManipulationSkipTag:
|
|
@@ -184,11 +194,19 @@ class Manipulation:
|
|
|
184
194
|
return
|
|
185
195
|
|
|
186
196
|
if self.current_port is None:
|
|
197
|
+
if self.delayed_tag and not self.delayed_tag_open:
|
|
198
|
+
print(f"<{self.delayed_tag}>", end='', file=self.out)
|
|
199
|
+
self.delayed_tag_open = True
|
|
200
|
+
|
|
187
201
|
if attrs:
|
|
188
202
|
attrs_list = [f'{key}="{self.escape(value)}"' for (key, value) in attrs.items()]
|
|
189
203
|
print(f"<{name}", " ".join(attrs_list), ">", end='', file=self.out)
|
|
190
204
|
else:
|
|
191
|
-
|
|
205
|
+
if name in self.TAGS_MODEL_STRUCTURE:
|
|
206
|
+
self.delayed_tag = name
|
|
207
|
+
self.delayed_tag_open = False
|
|
208
|
+
else:
|
|
209
|
+
print(f"<{name}>", end='', file=self.out)
|
|
192
210
|
|
|
193
211
|
def end_element(self, name):
|
|
194
212
|
if self.skip_until:
|
|
@@ -205,7 +223,14 @@ class Manipulation:
|
|
|
205
223
|
self.current_port = None
|
|
206
224
|
|
|
207
225
|
elif self.current_port is None:
|
|
208
|
-
|
|
226
|
+
if self.delayed_tag and name == self.delayed_tag:
|
|
227
|
+
if self.delayed_tag_open:
|
|
228
|
+
print(f"</{self.delayed_tag}>", end='', file=self.out)
|
|
229
|
+
else:
|
|
230
|
+
logger.debug(f"Remove tag <{self.delayed_tag}> from modelDescription.xml")
|
|
231
|
+
self.delayed_tag = None
|
|
232
|
+
else:
|
|
233
|
+
print(f"</{name}>", end='', file=self.out)
|
|
209
234
|
|
|
210
235
|
def char_data(self, data):
|
|
211
236
|
if not self.skip_until:
|
|
@@ -223,33 +248,71 @@ class Manipulation:
|
|
|
223
248
|
self.port_translation.append(self.current_port_number)
|
|
224
249
|
|
|
225
250
|
def unknown_attrs(self, attrs):
|
|
226
|
-
index = int(attrs['index'])
|
|
227
|
-
new_index = self.port_translation[index]
|
|
228
|
-
if new_index:
|
|
229
|
-
attrs['index'] =
|
|
251
|
+
index = int(attrs['index'])
|
|
252
|
+
new_index = self.port_translation[index-1]
|
|
253
|
+
if new_index is not None:
|
|
254
|
+
attrs['index'] = str(new_index)
|
|
255
|
+
if attrs.get('dependencies', ""):
|
|
256
|
+
if 'dependenciesKind' in attrs:
|
|
257
|
+
new_dependencies = []
|
|
258
|
+
new_kinds = []
|
|
259
|
+
for dependency, kind in zip(attrs['dependencies'].split(' '), attrs['dependenciesKind'].split(' ')):
|
|
260
|
+
new_dependency = self.port_translation[int(dependency)-1]
|
|
261
|
+
if new_dependency is not None:
|
|
262
|
+
new_dependencies.append(str(new_dependency))
|
|
263
|
+
new_kinds.append(kind)
|
|
264
|
+
if new_dependencies:
|
|
265
|
+
attrs['dependencies'] = " ".join(new_dependencies)
|
|
266
|
+
attrs['dependenciesKind'] = " ".join(new_kinds)
|
|
267
|
+
else:
|
|
268
|
+
attrs.pop('dependencies')
|
|
269
|
+
attrs.pop('dependenciesKind')
|
|
270
|
+
else:
|
|
271
|
+
new_dependencies = []
|
|
272
|
+
for dependency in attrs['dependencies'].split(' '):
|
|
273
|
+
new_dependency = self.port_translation[int(dependency)-1]
|
|
274
|
+
if new_dependency is not None:
|
|
275
|
+
new_dependencies.append(str(new_dependency))
|
|
276
|
+
if new_dependencies:
|
|
277
|
+
attrs['dependencies'] = " ".join(new_dependencies)
|
|
278
|
+
else:
|
|
279
|
+
attrs.pop('dependencies')
|
|
230
280
|
else:
|
|
231
|
-
logger.warning(f"Removed port '{self.port_names_list[index]}' is involved in dependencies tree.")
|
|
281
|
+
logger.warning(f"Removed port '{self.port_names_list[index-1]}' is involved in dependencies tree.")
|
|
232
282
|
raise ManipulationSkipTag
|
|
233
283
|
|
|
234
284
|
def handle_structure(self, attrs):
|
|
235
285
|
try:
|
|
236
286
|
vr = attrs['valueReference']
|
|
237
287
|
if vr in self.port_removed_vr:
|
|
288
|
+
logger.warning(f"Removed port vr={vr} is involved in dependencies tree.")
|
|
238
289
|
raise ManipulationSkipTag
|
|
239
290
|
except KeyError:
|
|
240
291
|
return
|
|
241
292
|
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
293
|
+
if attrs.get('dependencies', ""):
|
|
294
|
+
if 'dependenciesKind' in attrs:
|
|
295
|
+
new_dependencies = []
|
|
296
|
+
new_kinds = []
|
|
297
|
+
for dependency, kind in zip(attrs['dependencies'].split(' '), attrs['dependenciesKind'].split(' ')):
|
|
298
|
+
if dependency not in self.port_removed_vr:
|
|
299
|
+
new_dependencies.append(dependency)
|
|
300
|
+
new_kinds.append(kind)
|
|
301
|
+
if new_dependencies:
|
|
302
|
+
attrs['dependencies'] = " ".join(new_dependencies)
|
|
303
|
+
attrs['dependenciesKind'] = " ".join(new_kinds)
|
|
248
304
|
else:
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
305
|
+
attrs.pop('dependencies')
|
|
306
|
+
attrs.pop('dependenciesKind')
|
|
307
|
+
else:
|
|
308
|
+
new_dependencies = []
|
|
309
|
+
for dependency in attrs['dependencies'].split(' '):
|
|
310
|
+
if dependency not in self.port_removed_vr:
|
|
311
|
+
new_dependencies.append(dependency)
|
|
312
|
+
if new_dependencies:
|
|
313
|
+
attrs['dependencies'] = " ".join(new_dependencies)
|
|
314
|
+
else:
|
|
315
|
+
attrs.pop('dependencies')
|
|
253
316
|
|
|
254
317
|
def manipulate(self, descriptor_filename, apply_on=None):
|
|
255
318
|
self.apply_on = apply_on
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fmu_manipulation_toolbox
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.9rc9
|
|
4
4
|
Summary: FMU Manipulation Toolbox is a python application for modifying Functional Mock-up Units (FMUs) without recompilation or bundling them into FMU Containers
|
|
5
5
|
Home-page: https://github.com/grouperenault/fmu_manipulation_toolbox/
|
|
6
6
|
Author: Nicolas.LAURENT@Renault.com
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
'V1.9-rc8'
|
|
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
|
{fmu_manipulation_toolbox-1.9rc8 → fmu_manipulation_toolbox-1.9rc9}/fmu_manipulation_toolbox/gui.py
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|