fmu-manipulation-toolbox 1.9rc9__tar.gz → 1.9rc10__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.
Files changed (78) hide show
  1. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/PKG-INFO +1 -1
  2. fmu_manipulation_toolbox-1.9rc10/fmu_manipulation_toolbox/__version__.py +1 -0
  3. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/darwin64/container.dylib +0 -0
  4. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/linux32/client_sm.so +0 -0
  5. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/linux64/client_sm.so +0 -0
  6. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/linux64/container.so +0 -0
  7. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/win32/client_sm.dll +0 -0
  8. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/win32/server_sm.exe +0 -0
  9. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/win64/client_sm.dll +0 -0
  10. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/win64/container.dll +0 -0
  11. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/win64/server_sm.exe +0 -0
  12. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/split.py +27 -23
  13. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox.egg-info/PKG-INFO +1 -1
  14. fmu_manipulation_toolbox-1.9rc9/fmu_manipulation_toolbox/__version__.py +0 -1
  15. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/LICENSE.txt +0 -0
  16. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/README.md +0 -0
  17. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/__init__.py +0 -0
  18. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/__main__.py +0 -0
  19. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/assembly.py +0 -0
  20. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/checker.py +0 -0
  21. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/cli/__init__.py +0 -0
  22. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/cli/fmucontainer.py +0 -0
  23. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/cli/fmusplit.py +0 -0
  24. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/cli/fmutool.py +0 -0
  25. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/cli/utils.py +0 -0
  26. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/container.py +0 -0
  27. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/gui.py +0 -0
  28. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/gui_style.py +0 -0
  29. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/help.py +0 -0
  30. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/operations.py +0 -0
  31. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/remoting.py +0 -0
  32. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/checkbox-checked-disabled.png +0 -0
  33. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/checkbox-checked-hover.png +0 -0
  34. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/checkbox-checked.png +0 -0
  35. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/checkbox-unchecked-disabled.png +0 -0
  36. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/checkbox-unchecked-hover.png +0 -0
  37. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/checkbox-unchecked.png +0 -0
  38. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/container.png +0 -0
  39. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/drop_fmu.png +0 -0
  40. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/fmi-2.0/fmi2Annotation.xsd +0 -0
  41. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/fmi-2.0/fmi2AttributeGroups.xsd +0 -0
  42. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/fmi-2.0/fmi2ModelDescription.xsd +0 -0
  43. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/fmi-2.0/fmi2ScalarVariable.xsd +0 -0
  44. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/fmi-2.0/fmi2Type.xsd +0 -0
  45. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/fmi-2.0/fmi2Unit.xsd +0 -0
  46. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/fmi-2.0/fmi2VariableDependency.xsd +0 -0
  47. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3Annotation.xsd +0 -0
  48. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3AttributeGroups.xsd +0 -0
  49. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3BuildDescription.xsd +0 -0
  50. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3InterfaceType.xsd +0 -0
  51. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3LayeredStandardManifest.xsd +0 -0
  52. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3ModelDescription.xsd +0 -0
  53. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3Terminal.xsd +0 -0
  54. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3TerminalsAndIcons.xsd +0 -0
  55. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3Type.xsd +0 -0
  56. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3Unit.xsd +0 -0
  57. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3Variable.xsd +0 -0
  58. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/fmi-3.0/fmi3VariableDependency.xsd +0 -0
  59. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/fmu.png +0 -0
  60. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/fmu_manipulation_toolbox.png +0 -0
  61. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/help.png +0 -0
  62. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/icon-round.png +0 -0
  63. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/icon.png +0 -0
  64. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/icon_fmu.png +0 -0
  65. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/license.txt +0 -0
  66. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/linux32/server_sm +0 -0
  67. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/linux64/server_sm +0 -0
  68. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/mask.png +0 -0
  69. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/resources/model.png +0 -0
  70. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox/version.py +0 -0
  71. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox.egg-info/SOURCES.txt +0 -0
  72. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox.egg-info/dependency_links.txt +0 -0
  73. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox.egg-info/entry_points.txt +0 -0
  74. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox.egg-info/requires.txt +0 -0
  75. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/fmu_manipulation_toolbox.egg-info/top_level.txt +0 -0
  76. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/setup.cfg +0 -0
  77. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/setup.py +0 -0
  78. {fmu_manipulation_toolbox-1.9rc9 → fmu_manipulation_toolbox-1.9rc10}/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.9rc9
3
+ Version: 1.9rc10
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
@@ -111,16 +111,10 @@ class FMUSplitter:
111
111
  fmu_file.writestr(file[len(directory):], data)
112
112
  logger.info(f"FMU Extraction of '{filename}'")
113
113
 
114
-
115
114
  class FMUSplitterDescription:
116
115
  def __init__(self, zip):
117
116
  self.zip = zip
118
- self.links: Dict[str, Dict[int, FMUSplitterLink]] = {
119
- "Real": {},
120
- "Integer": {},
121
- "Boolean": {},
122
- "String": {}
123
- }
117
+ self.links: Dict[str, Dict[int, FMUSplitterLink]] = dict((el, {}) for el in EmbeddedFMUPort.ALL_TYPES)
124
118
  self.vr_to_name: Dict[str, Dict[str, Dict[int, Dict[str, str]]]] = {} # name, fmi_type, vr <-> {name, causality}
125
119
  self.config: Dict[str, Any] = {
126
120
  "auto_input": False,
@@ -133,10 +127,11 @@ class FMUSplitterDescription:
133
127
 
134
128
  # used for modelDescription.xml parsing
135
129
  self.current_fmu_filename = None
130
+ self.current_fmi_version = None
136
131
  self.current_vr = None
137
132
  self.current_name = None
138
133
  self.current_causality = None
139
- self.supported_fmi_types: Tuple[str] = ()
134
+ self.supported_fmi_types: Tuple[str] = tuple()
140
135
 
141
136
  @staticmethod
142
137
  def get_line(file):
@@ -146,14 +141,23 @@ class FMUSplitterDescription:
146
141
  return line
147
142
  raise StopIteration
148
143
 
149
- def start_element(self, name, attrs):
150
- if name == "ScalarVariable":
144
+ def start_element(self, tag, attrs):
145
+ if tag == "fmiModelDescription":
146
+ self.current_fmi_version = attrs["fmiVersion"]
147
+ elif tag == "ScalarVariable":
151
148
  self.current_name = attrs["name"]
152
149
  self.current_vr = int(attrs["valueReference"])
153
150
  self.current_causality = attrs["causality"]
154
- elif name in self.vr_to_name[self.current_fmu_filename]:
155
- self.vr_to_name[self.current_fmu_filename][name][self.current_vr] = {"name": self.current_name,
156
- "causality": self.current_causality}
151
+ elif self.current_fmi_version == "2.0" and tag in EmbeddedFMUPort.FMI_TO_CONTAINER[2]:
152
+ fmi_type = EmbeddedFMUPort.FMI_TO_CONTAINER[2][tag]
153
+ self.vr_to_name[self.current_fmu_filename][fmi_type][self.current_vr] = {
154
+ "name": self.current_name,
155
+ "causality": self.current_causality}
156
+ elif self.current_fmi_version == "3.0" and tag in EmbeddedFMUPort.FMI_TO_CONTAINER[3]:
157
+ fmi_type = EmbeddedFMUPort.FMI_TO_CONTAINER[3][tag]
158
+ self.vr_to_name[self.current_fmu_filename][fmi_type][int(attrs["valueReference"])] = {
159
+ "name": attrs["name"],
160
+ "causality": attrs["causality"]}
157
161
  else:
158
162
  self.current_vr = None
159
163
  self.current_name = None
@@ -166,14 +170,10 @@ class FMUSplitterDescription:
166
170
  else:
167
171
  filename = f"{directory}/modelDescription.xml"
168
172
 
169
- self.vr_to_name[fmu_filename] = {
170
- "Real": {},
171
- "Integer": {},
172
- "Boolean": {},
173
- "String": {}
174
- }
173
+ self.vr_to_name[fmu_filename] = dict((el, {}) for el in EmbeddedFMUPort.ALL_TYPES)
175
174
  parser = xml.parsers.expat.ParserCreate()
176
175
  self.current_fmu_filename = fmu_filename
176
+ self.current_fmi_version = None
177
177
  self.current_vr = None
178
178
  self.current_name = None
179
179
  self.current_causality = None
@@ -266,14 +266,14 @@ class FMUSplitterDescription:
266
266
  def parse_txt_file(self, txt_filename: str):
267
267
  self.parse_model_description(str(Path(txt_filename).parent.parent), ".")
268
268
  logger.debug(f"Parsing container file '{txt_filename}'")
269
-
270
269
  with (self.zip.open(txt_filename) as file):
271
270
  self.parse_txt_file_header(file, txt_filename)
272
271
  self.parse_txt_file_ports(file)
273
272
 
274
273
  for fmu_filename in self.config["candidate_fmu"]:
275
274
  # Inputs per FMUs
276
- for fmi_type in ("Real", "Integer", "Boolean", "String"):
275
+
276
+ for fmi_type in self.supported_fmi_types:
277
277
  nb_input = int(self.get_line(file))
278
278
  for i in range(nb_input):
279
279
  local, vr = self.get_line(file).split(" ")
@@ -285,7 +285,7 @@ class FMUSplitterDescription:
285
285
  link.to_port.append(FMUSplitterPort(fmu_filename,
286
286
  self.vr_to_name[fmu_filename][fmi_type][int(vr)]["name"]))
287
287
 
288
- for fmi_type in ("Real", "Integer", "Boolean", "String"):
288
+ for fmi_type in self.supported_fmi_types:
289
289
  nb_start = int(self.get_line(file))
290
290
  for i in range(nb_start):
291
291
  tokens = self.get_line(file).split(" ")
@@ -299,7 +299,7 @@ class FMUSplitterDescription:
299
299
  self.config["start"] = [start_definition]
300
300
 
301
301
  # Output per FMUs
302
- for fmi_type in ("Real", "Integer", "Boolean", "String"):
302
+ for fmi_type in self.supported_fmi_types:
303
303
  nb_output = int(self.get_line(file))
304
304
 
305
305
  for i in range(nb_output):
@@ -311,6 +311,10 @@ class FMUSplitterDescription:
311
311
  self.links[fmi_type][local] = link
312
312
  link.from_port = FMUSplitterPort(fmu_filename,
313
313
  self.vr_to_name[fmu_filename][fmi_type][int(vr)]["name"])
314
+ #conversion
315
+ nb_conversion = int(self.get_line(file))
316
+ for i in range(nb_conversion):
317
+ self.get_line(file)
314
318
 
315
319
  logger.debug("End of parsing.")
316
320
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmu_manipulation_toolbox
3
- Version: 1.9rc9
3
+ Version: 1.9rc10
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