Source code for pyfileconf.data.logic.convert

from typing import Union, Any, Type

from pyfileconf.imports.logic.load.klass import class_function_args_as_dict

StrOrObj = Union[str, Any]


[docs]def convert_to_empty_obj_if_necessary(item: StrOrObj, item_class: Type, key_attr: str = 'name') -> Any: from pyfileconf.data.models.collection import SpecificClassCollection if isinstance(item, (item_class, SpecificClassCollection)): return item defaults = { key_attr: item } args_dict = class_function_args_as_dict(item_class) args_dict.update(defaults) return item_class(**args_dict)