anim.py 文件源码

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

项目:uchroma 作者: cyanogen 项目源码 文件源码
def _discover_renderers(self):
        infos = OrderedDict()

        for ep_mod in iter_entry_points(group='uchroma.plugins', name='renderers'):
            obj = ep_mod.load()
            if not inspect.ismodule(obj):
                self._logger.error("Plugin %s is not a module, skipping", ep_mod)
                continue

        for ep_cls in iter_entry_points(group='uchroma.plugins', name='renderer'):
            obj = ep_cls.load()
            if not issubclass(obj, Renderer):
                self._logger.error("Plugin %s is not a renderer, skipping", ep_cls)
                continue

        for obj in Renderer.__subclasses__():
            if inspect.isabstract(obj):
                continue

            if obj.meta.display_name == '_unknown_':
                self._logger.error("Renderer %s did not set metadata, skipping",
                                   obj.__name__)
                continue

            key = '%s.%s' % (obj.__module__, obj.__name__)
            infos[key] = RendererInfo(obj.__module__, obj, key,
                                      obj.meta, obj.class_traits())

        self._logger.debug("Loaded renderers: %s", ', '.join(infos.keys()))
        return infos
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号