Skip to content

Commit a8d2e31

Browse files
committed
[ModelicaSystemCmd] fix mypy warnings
1 parent e33537a commit a8d2e31

1 file changed

Lines changed: 15 additions & 14 deletions

File tree

OMPython/ModelicaSystem.py

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,8 @@ def __init__(self, runpath: pathlib.Path, modelname: str, timeout: Optional[int]
128128
self._runpath = pathlib.Path(runpath).resolve().absolute()
129129
self._modelname = modelname
130130
self._timeout = timeout
131-
self._args = {}
131+
self._args: dict[str, str | None] = {}
132+
self._arg_override: dict[str, str] = {}
132133

133134
def arg_set(self, key: str, val: Optional[str | dict] = None) -> None:
134135
"""
@@ -149,12 +150,13 @@ def arg_set(self, key: str, val: Optional[str | dict] = None) -> None:
149150
elif isinstance(val, numbers.Number):
150151
argval = str(val)
151152
elif key == 'override' and isinstance(val, dict):
152-
argval = self._args['override'] if 'override' in self._args else {}
153-
for overwrite_key in val:
154-
if not isinstance(overwrite_key, str) or not isinstance(val[overwrite_key], (str, numbers.Number)):
153+
for okey in val:
154+
if not isinstance(okey, str) or not isinstance(val[okey], (str, numbers.Number)):
155155
raise ModelicaSystemError("Invalid argument for 'override': "
156-
f"{repr(overwrite_key)} = {repr(val[overwrite_key])}")
157-
argval[overwrite_key] = val[overwrite_key]
156+
f"{repr(okey)} = {repr(val[okey])}")
157+
self._arg_override[okey] = val[okey]
158+
159+
argval = ','.join([f"{okey}={str(self._arg_override[okey])}" for okey in self._arg_override])
158160
else:
159161
raise ModelicaSystemError(f"Invalid argument value for {repr(key)}: {repr(val)} (type: {type(val)})")
160162

@@ -207,9 +209,6 @@ def get_cmd(self) -> list:
207209
for key in self._args:
208210
if self._args[key] is None:
209211
cmdl.append(f"-{key}")
210-
elif key == 'override' and isinstance(self._args[key], dict):
211-
valstr = ','.join([f"{valkey}={str(self._args[key][valkey])}" for valkey in self._args[key]])
212-
cmdl.append(f"-{key}={valstr}")
213212
else:
214213
cmdl.append(f"-{key}={self._args[key]}")
215214

@@ -282,7 +281,7 @@ def parse_simflags(simflags: str) -> dict:
282281
warnings.warn("The argument 'simflags' is depreciated and will be removed in future versions; "
283282
"please use 'simargs' instead", DeprecationWarning, stacklevel=2)
284283

285-
simargs = {}
284+
simargs: dict[str, Optional[str | dict[str, str]]] = {}
286285

287286
args = [s for s in simflags.split(' ') if s]
288287
for arg in args:
@@ -295,16 +294,18 @@ def parse_simflags(simflags: str) -> dict:
295294
elif parts[0] == 'override':
296295
override = '='.join(parts[1:])
297296

298-
simargs[parts[0]] = {}
297+
override_dict = {}
299298
for item in override.split(','):
300299
kv = item.split('=')
301300
if not (0 < len(kv) < 3):
302-
raise ModelicaSystemError(f"Invalide value for '-override': {override}")
301+
raise ModelicaSystemError(f"Invalid value for '-override': {override}")
303302
if kv[0]:
304303
try:
305-
simargs[parts[0]][kv[0]] = kv[1]
304+
override_dict[kv[0]] = kv[1]
306305
except (KeyError, IndexError) as ex:
307-
raise ModelicaSystemError(f"Invalide value for '-override': {override}") from ex
306+
raise ModelicaSystemError(f"Invalid value for '-override': {override}") from ex
307+
308+
simargs[parts[0]] = override_dict
308309

309310
return simargs
310311

0 commit comments

Comments
 (0)