Ejemplo n.º 1
0
def component_sample_config_str(comp_name,
                                prefix,
                                filter_funcs=None,
                                cfg_name=None):
    if cfg_name is None:
        cfg_name = comp_name
    filter_funcs = filter_funcs or []
    all_text = prefix + "## ---- Component {} ----\n".format(cfg_name)

    for type_name, cls in six.iteritems(RegistryMeta.all_classes(comp_name)):
        try:
            is_skip = any(not func(cls) for func in filter_funcs)
        except Exception as e:  #pylint: disable=broad-except
            # some plugin class might be wrongly implemented, check here
            import traceback
            traceback.print_exc()
            _logger.getChild("utils")\
                   .warning("Skip %s: %s(%s) as exception occurs in checking. %s: %s",
                            comp_name, type_name, cls, e.__class__.__name__, str(e))
        if is_skip:
            continue

        all_text += prefix + "# ---- Type {} ----\n".format(type_name)
        all_text += prefix + "{}_type: {}\n".format(cfg_name, type_name)
        all_text += prefix + "{}_cfg:\n".format(cfg_name)

        # write the default configuration
        config_str = cls.get_default_config_str()
        all_text += add_text_prefix(config_str, prefix + "  ")

        all_text += prefix + "# ---- End Type {} ----\n".format(type_name)

    all_text += prefix + "## ---- End Component {} ----\n".format(cfg_name)
    return all_text
Ejemplo n.º 2
0
 def __init__(self, name):
     self.name = name
     self.total_time = 0.
     self.cur_time = time.time()
     self.logger = _logger.getChild("ticker_{}".format(name))