group_plugin.py 文件源码

python
阅读 16 收藏 0 点赞 0 评论 0

项目:mycroft-light 作者: MatthewScholefield 项目源码 文件源码
def load_classes(self, package, suffix):
        classes = {}
        folder = list(import_module(package).__path__)[0]
        for loader, mod_name, is_pkg in pkgutil.walk_packages([folder]):
            if not mod_name.endswith(suffix):
                continue
            try:
                module = loader.find_module(mod_name).load_module(mod_name)
            except:
                log.exception('Loading', mod_name)
                continue
            cls_name = to_camel(mod_name)
            mod_cls = getattr(module, cls_name, '')
            if not isclass(mod_cls):
                log.warning('Could not find', cls_name, 'in', mod_name)
                continue

            try:
                plugin_path = object.__getattribute__(self, 'plugin_path') + '.'
            except AttributeError:
                plugin_path = ''

            mod_cls.attr_name = self.make_name(mod_cls)
            mod_cls.plugin_path = plugin_path + mod_cls.attr_name

            classes[mod_cls.attr_name] = mod_cls
        return classes
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号