

def _get_custom_types(self, type_definitions, imports=None):
    'Handle custom types defined in imported template files\n\n        This method loads the custom type definitions referenced in "imports"\n        section of the TOSCA YAML template.\n        '
    custom_defs = {
        
    }
    type_defs = []
    if (not isinstance(type_definitions, list)):
        type_defs.append(type_definitions)
    else:
        type_defs = type_definitions
    if (not imports):
        imports = self._tpl_imports()
    if imports:
        custom_defs = toscaparser.imports.ImportsLoader(imports, self.path, type_defs, self.tpl).get_custom_defs()
        if (not custom_defs):
            return
    for type_def in type_defs:
        if (type_def != IMPORTS):
            inner_custom_types = (self.tpl.get(type_def) or {
                
            })
            if inner_custom_types:
                custom_defs.update(inner_custom_types)
    return custom_defs

dataset/ETHPy150Open openstack/tosca-parser/toscaparser/tosca_template.py ToscaTemplate._get_custom_types/original