Skip to content

Commit a7bcf6c

Browse files
authored
Merge pull request #4 from grouperenault/dev
Fix ModelStructure and Python 3.9 specific code
2 parents d258982 + 7044193 commit a7bcf6c

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

fmutool/cli.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def fmutool():
5151

5252
parser = argparse.ArgumentParser(prog='fmutool',
5353
description="Manipulate a FMU by modifying its 'modelDescription.xml'",
54-
formatter_class=make_wide(argparse.ArgumentDefaultsHelpFormatter),
54+
formatter_class=make_wide(argparse.HelpFormatter),
5555
add_help=False,
5656
epilog="see: https://github.com/grouperenault/fmutool/blob/main/README.md")
5757

@@ -156,6 +156,8 @@ def fmucontainer():
156156
epilog="see: https://github.com/grouperenault/fmutool/blob/main/"
157157
"container/README.md")
158158

159+
parser.add_argument('-h', '-help', action="help")
160+
159161
parser.add_argument("-fmu-directory", action="store", dest="fmu_directory", required=True,
160162
help="Directory containing initial FMU’s and used to generate containers.")
161163

fmutool/fmu_container.py

+14-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ def xml(self, vr: int, name=None, causality=None, start=None):
5656
"name": name,
5757
"valueReference": vr,
5858
"causality": causality
59-
} | self.attrs
59+
}
60+
scalar_attrs.update(self.attrs)
6061

6162
scalar_attrs_str = " ".join([f'{key}="{value}"' for (key, value) in scalar_attrs.items()])
6263

@@ -436,6 +437,18 @@ def make_fmu_xml(self, xml_file, step_size):
436437
xml_file.write(""" </ModelVariables>
437438
438439
<ModelStructure>
440+
<Outputs>
441+
""")
442+
443+
index_offset = len(self.locals) + len(self.inputs) + 1
444+
for i, _ in enumerate(self.outputs.keys()):
445+
print(f' <Unknown index="{index_offset+i}"/>', file=xml_file)
446+
xml_file.write(""" </Outputs>
447+
<InitialUnknowns>
448+
""")
449+
for i, _ in enumerate(self.outputs.keys()):
450+
print(f' <Unknown index="{index_offset+i}"/>', file=xml_file)
451+
xml_file.write(""" </InitialUnknowns>
439452
</ModelStructure>
440453
441454
</fmiModelDescription>

0 commit comments

Comments
 (0)