Skip to content

Commit

Permalink
[sm_loader] Prevent the loader from failing if an argument is passed …
Browse files Browse the repository at this point in the history
…incorrectly (for example, as a list instead of a dict)
  • Loading branch information
alex-mitrevski committed Dec 7, 2020
1 parent 44588a3 commit 0c0533b
Showing 1 changed file with 24 additions and 8 deletions.
32 changes: 24 additions & 8 deletions common/mas_execution/sm_loader.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,12 @@ def load_sm(sm_file, parent_sm_file=''):
if SMFileKeys.ARGS in state_data:
for arg in state_data[SMFileKeys.ARGS]:
arg_data = arg[SMFileKeys.ARG]
state_params.args[arg_data[SMFileKeys.ARG_NAME]] = \
arg_data[SMFileKeys.ARG_VALUE]
try:
state_params.args[arg_data[SMFileKeys.ARG_NAME]] = \
arg_data[SMFileKeys.ARG_VALUE]
except TypeError as exc:
print('[sm_loader, ERROR] Error loading argument {0}'.format(arg_data))
print('[sm_loader, ERROR] {0}', str(exc))
else:
print('[sm_loader, INFO] No arguments passed for state {0}'.format(state_params.name))

Expand All @@ -108,8 +112,12 @@ def load_sm(sm_file, parent_sm_file=''):
if SMFileKeys.ARGS in sm_data:
for arg in sm_data[SMFileKeys.ARGS]:
arg_data = arg[SMFileKeys.ARG]
sm_params.global_params[arg_data[SMFileKeys.ARG_NAME]] = \
arg_data[SMFileKeys.ARG_VALUE]
try:
sm_params.global_params[arg_data[SMFileKeys.ARG_NAME]] = \
arg_data[SMFileKeys.ARG_VALUE]
except TypeError as exc:
print('[sm_loader, ERROR] Error loading argument {0}'.format(arg_data))
print('[sm_loader, ERROR] {0}', str(exc))

return sm_params

Expand Down Expand Up @@ -146,8 +154,12 @@ def __load_parent_config(parent_sm_data):
if SMFileKeys.ARGS in parent_sm_data:
for arg in parent_sm_data[SMFileKeys.ARGS]:
arg_data = arg[SMFileKeys.ARG]
sm_params.global_params[arg_data[SMFileKeys.ARG_NAME]] = \
arg_data[SMFileKeys.ARG_VALUE]
try:
sm_params.global_params[arg_data[SMFileKeys.ARG_NAME]] = \
arg_data[SMFileKeys.ARG_VALUE]
except TypeError as exc:
print('[sm_loader, ERROR] Error loading argument {0}'.format(arg_data))
print('[sm_loader, ERROR] {0}', str(exc))

for state_description in parent_sm_data[SMFileKeys.STATE_DESCRIPTIONS]:
state_data = state_description[SMFileKeys.STATE]
Expand Down Expand Up @@ -177,8 +189,12 @@ def __load_parent_config(parent_sm_data):
if SMFileKeys.ARGS in state_data:
for arg in state_data[SMFileKeys.ARGS]:
arg_data = arg[SMFileKeys.ARG]
state_params.args[arg_data[SMFileKeys.ARG_NAME]] = \
arg_data[SMFileKeys.ARG_VALUE]
try:
state_params.args[arg_data[SMFileKeys.ARG_NAME]] = \
arg_data[SMFileKeys.ARG_VALUE]
except TypeError as exc:
print('[sm_loader, ERROR] Error loading argument {0}'.format(arg_data))
print('[sm_loader, ERROR] {0}', str(exc))

for arg_name, arg_value in sm_params.global_params.items():
arg_data = arg[SMFileKeys.ARG]
Expand Down

0 comments on commit 0c0533b

Please sign in to comment.