in core/src/klio_core/config/core.py [0:0]
def _create_config_objects(self, configs, io_type, io_direction):
options = dict(
[
(x.name, x)
for x in self._get_all_config_subclasses()
if x.supports_type(io_type)
and x.supports_direction(io_direction)
]
)
objs = []
for name, config in configs.items():
type_name = config["type"].lower()
if type_name not in options:
raise Exception(
"{} is not a valid {} {}".format(
config["type"], io_type.name, io_direction.name
)
)
subclass = options[type_name]
objs.append(subclass.from_dict(config, io_type, io_direction))
return objs