def __new__(cls, *args, **kwargs): an_instance = object.__new__(cls) default_config = Configuration(an_instance.get_configuration())["init"] config = None if "model_configuration" in kwargs.keys(): config = kwargs["model_configuration"] del kwargs["model_configuration"] an_instance.model_configuration = default_config.merge_defaults_with_arguments_and_config( config, **kwargs) if 'run' in map(lambda (name, obj): name, getmembers(an_instance, isroutine)): run_method = an_instance.run def config_run_method (*req_args, **opt_args): default_config = Configuration(an_instance.get_configuration())["run"] an_instance.model_configuration = default_config.merge_defaults_with_arguments_and_config( an_instance.model_configuration, **opt_args) results = run_method(*req_args, **opt_args) return results an_instance.run = config_run_method
def config_run_method (*req_args, **opt_args): default_config = Configuration(an_instance.get_configuration())["run"] an_instance.model_configuration = default_config.merge_defaults_with_arguments_and_config( an_instance.model_configuration, **opt_args) results = run_method(*req_args, **opt_args) return results