diff --git a/cadCAD/configuration/__init__.py b/cadCAD/configuration/__init__.py index 82d13d0..563a80f 100644 --- a/cadCAD/configuration/__init__.py +++ b/cadCAD/configuration/__init__.py @@ -22,6 +22,8 @@ class Configuration(object): self.policy_ops = policy_ops self.kwargs = kwargs + sanitize_config(self) + def append_configs(sim_configs={}, initial_state={}, seeds={}, raw_exogenous_states={}, env_processes={}, partial_state_update_blocks={}, _exo_update_per_ts=True): if _exo_update_per_ts is True: @@ -39,8 +41,7 @@ def append_configs(sim_configs={}, initial_state={}, seeds={}, raw_exogenous_sta env_processes=env_processes, partial_state_update_blocks=partial_state_update_blocks ) - back_compatable_config = sanitize_config(config) - configs.append(back_compatable_config) + configs.append(config) elif isinstance(sim_configs, dict): config = Configuration( sim_config=sim_configs, @@ -50,8 +51,7 @@ def append_configs(sim_configs={}, initial_state={}, seeds={}, raw_exogenous_sta env_processes=env_processes, partial_state_update_blocks=partial_state_update_blocks ) - back_compatable_config = sanitize_config(config) - configs.append(back_compatable_config) + configs.append(config) class Identity: @@ -124,7 +124,7 @@ class Processor: return sdf_values, bdf_values if len(partial_state_updates) != 0: - # backwards compatibility + # backwards compatibility # ToDo: Move this partial_state_updates = sanitize_partial_state_updates(partial_state_updates) bdf = self.create_matrix_field(partial_state_updates, 'policies') diff --git a/cadCAD/configuration/utils/depreciationHandler.py b/cadCAD/configuration/utils/depreciationHandler.py index 148163d..1f2862a 100644 --- a/cadCAD/configuration/utils/depreciationHandler.py +++ b/cadCAD/configuration/utils/depreciationHandler.py @@ -2,23 +2,19 @@ from copy import deepcopy def sanitize_config(config): - new_config = deepcopy(config) # for backwards compatibility, we accept old arguments via **kwargs # TODO: raise specific deprecation warnings for key == 'state_dict', key == 'seed', key == 'mechanisms' - for key, value in new_config.kwargs.items(): + for key, value in config.kwargs.items(): if key == 'state_dict': - new_config.initial_state = value + config.initial_state = value elif key == 'seed': - new_config.seeds = value + config.seeds = value elif key == 'mechanisms': - new_config.partial_state_updates = value + config.partial_state_updates = value - if new_config.initial_state == {}: + if config.initial_state == {}: raise Exception('The initial conditions of the system have not been set') - del config - return new_config - def sanitize_partial_state_updates(partial_state_updates): new_partial_state_updates = deepcopy(partial_state_updates) diff --git a/cadCAD/engine/__init__.py b/cadCAD/engine/__init__.py index 5a1d4ad..e22b028 100644 --- a/cadCAD/engine/__init__.py +++ b/cadCAD/engine/__init__.py @@ -65,6 +65,7 @@ class Executor: config_idx += 1 if self.exec_context == ExecutionMode.single_proc: + # ToDO: Deprication Handler - "sanitize" in appropriate place tensor_field = create_tensor_field(partial_state_updates.pop(), eps.pop()) result = self.exec_method(simulation_execs, var_dict_list, states_lists, configs_structs, env_processes_list, Ts, Ns) return result, tensor_field