

def __init__(self, definition_cfg, trait_plugin_map):
    self._included_types = []
    self._excluded_types = []
    self.traits = dict()
    self.cfg = definition_cfg
    try:
        event_type = definition_cfg['event_type']
        traits = definition_cfg['traits']
    except KeyError as err:
        raise EventDefinitionException(('Required field %s not specified' % err.args[0]), self.cfg)
    if isinstance(event_type, six.string_types):
        event_type = [event_type]
    for t in event_type:
        if t.startswith('!'):
            self._excluded_types.append(t[1:])
        else:
            self._included_types.append(t)
    if (self._excluded_types and (not self._included_types)):
        self._included_types.append('*')
    for trait_name in self.DEFAULT_TRAITS:
        self.traits[trait_name] = TraitDefinition(trait_name, self.DEFAULT_TRAITS[trait_name], trait_plugin_map)
    for trait_name in traits:
        self.traits[trait_name] = TraitDefinition(trait_name, traits[trait_name], trait_plugin_map)

dataset/ETHPy150Open openstack/stacktach-stackdistiller/stackdistiller/distiller.py EventDefinition.__init__/original