diff --git a/stardis/io/base.py b/stardis/io/base.py index 5f0b4f95..a4ba029f 100644 --- a/stardis/io/base.py +++ b/stardis/io/base.py @@ -50,11 +50,22 @@ def parse_config_to_model(config_fname, add_config_keys=None, add_config_vals=No pass else: print("Updating config with additional keys and values") - try: - for key, val in zip(add_config_keys, add_config_vals): - config.set_config_item(key, val) - except: + if isinstance(add_config_keys, str): + # Directly set the config item if add_config_keys is a string config.set_config_item(add_config_keys, add_config_vals) + else: + # Proceed with iteration if add_config_keys is not a string + if len(add_config_keys) != len(add_config_vals): + raise ValueError( + "Length of additional config keys and values do not match." + ) + try: + for key, val in zip(add_config_keys, add_config_vals): + config.set_config_item(key, val) + except: + raise ValueError( + f"{add_config_keys} not a valid type. Should be a single string or a list of strings for keys." + ) try: config_dict = validate_dict(config, schemapath=SCHEMA_PATH)