示例#1
0
def omenus_from_package(package):
    try:
        package = discovery.asmodule(package)
    except ImportError:
        return
    for path in package.__path__:
        for _, mod_name, ispkg in pkgutil.iter_modules([path]):
            if ispkg:
                continue

            name = package.__name__ + "." + mod_name
            try:
                menu_module = discovery.asmodule(name)
            except ImportError:
                log.error("Error importing '%s'", name, exc_info=True)
                return

            for name, menu_class in inspect.getmembers(menu_module):
                if inspect.isclass(menu_class) and \
                        issubclass(menu_class, OMenu) and not name == "OMenu":
                    try:
                        yield menu_class()
                    except Exception:
                        log.error("Error creating menu instance from '%s'",
                                  menu_class,
                                  exc_info=True)
示例#2
0
def omenus_from_package(package):
    try:
        package = discovery.asmodule(package)
    except ImportError:
        return
    for path in package.__path__:
        for _, mod_name, ispkg in pkgutil.iter_modules([path]):
            if ispkg:
                continue

            name = package.__name__ + "." + mod_name
            try:
                menu_module = discovery.asmodule(name)
            except ImportError:
                log.error("Error importing '%s'", name, exc_info=True)
                return

            for name, menu_class in inspect.getmembers(menu_module):
                if inspect.isclass(menu_class) and \
                        issubclass(menu_class, OMenu) and not name == "OMenu":
                    try:
                        yield menu_class()
                    except Exception:
                        log.error("Error creating menu instance from '%s'",
                                  menu_class, exc_info=True)
示例#3
0
    def widget_description(self, module, widget_name=None, category_name=None,
                           distribution=None):
        """
        Return widget description from a module.
        """
        module = discovery.asmodule(module)
        desc = widget_desc_from_module(module)

        if widget_name is not None:
            desc.name = widget_name

        if category_name is not None:
            desc.category = category_name

        if distribution is not None:
            desc.project_name = distribution.project_name

        return desc
    def widget_description(self, module, widget_name=None, category_name=None,
                           distribution=None):
        """
        Return widget description from a module.
        """
        module = discovery.asmodule(module)
        desc = widget_desc_from_module(module)

        if widget_name is not None:
            desc.name = widget_name

        if category_name is not None:
            desc.category = category_name

        if distribution is not None:
            desc.project_name = distribution.project_name

        return desc