• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python utils.itersubclasses函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中rally.utils.itersubclasses函数的典型用法代码示例。如果您正苦于以下问题:Python itersubclasses函数的具体用法?Python itersubclasses怎么用?Python itersubclasses使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了itersubclasses函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: get_runner

 def get_runner(task, endpoint, config):
     """Returns instance of a scenario runner for execution type."""
     execution_type = config.get('execution', 'continuous')
     for runner in rutils.itersubclasses(ScenarioRunner):
         if execution_type == runner.__execution_type__:
             new_runner = runner(task, endpoint)
             return new_runner
开发者ID:mohitsethi,项目名称:rally,代码行数:7,代码来源:base.py


示例2: find_resource_managers

def find_resource_managers(names=None, admin_required=None):
    """Returns resource managers.

    :param names: List of names in format <service> or <service>.<resource>
                  that is used for filtering resource manager classes
    :param admin_required: None -> returns all ResourceManagers
                           True -> returns only admin ResourceManagers
                           False -> returns only non admin ResourceManagers
    """
    names = set(names or [])

    resource_managers = []
    for manager in rutils.itersubclasses(base.ResourceManager):
        if admin_required is not None:
            if admin_required != manager._admin_required:
                continue

        if (manager._service in names
           or "%s.%s" % (manager._service, manager._resource) in names):
            resource_managers.append(manager)

    resource_managers.sort(key=lambda x: x._order)

    found_names = set()
    for mgr in resource_managers:
        found_names.add(mgr._service)
        found_names.add("%s.%s" % (mgr._service, mgr._resource))

    missing = names - found_names
    if missing:
        LOG.warning("Missing resource managers: %s" % ", ".join(missing))

    return resource_managers
开发者ID:CSC-IT-Center-for-Science,项目名称:rally,代码行数:33,代码来源:manager.py


示例3: find_benchmark_scenario

def find_benchmark_scenario(query):
    """Find a scenario method by query.

    :param query: string with the name of the benchmark scenario being
                  searched. It can be either a full name (e.g,
                  'NovaServers.boot_server') or just a method name (e.g.,
                  'boot_server')
    :returns: method object or None if the query doesn't match any
              scenario method.
    """
    if "." in query:
        scenario_group, scenario_name = query.split(".", 1)
    else:
        scenario_group = None
        scenario_name = query

    if scenario_group:
        scenario_cls = find_benchmark_scenario_group(scenario_group)
        if hasattr(scenario_cls, scenario_name):
            return getattr(scenario_cls, scenario_name)
        else:
            return None
    else:
        for scenario_cls in utils.itersubclasses(scenarios_base.Scenario):
            if scenario_name in dir(scenario_cls):
                return getattr(scenario_cls, scenario_name)
        return None
开发者ID:slashk,项目名称:rally,代码行数:27,代码来源:searchutils.py


示例4: get_provider

 def get_provider(config, deployment):
     """Returns instance of vm provider by name."""
     name = config['type']
     for provider in utils.itersubclasses(ProviderFactory):
         if name == provider.__name__:
             return provider(deployment, config)
     raise exceptions.NoSuchVMProvider(vm_provider_name=name)
开发者ID:Frostman,项目名称:rally,代码行数:7,代码来源:provider.py


示例5: _get_descriptions

 def _get_descriptions(self, base_cls):
     descriptions = []
     for entity in utils.itersubclasses(base_cls):
         name = entity.__name__
         doc = utils.parse_docstring(entity.__doc__)
         description = doc["short_description"] or ""
         descriptions.append((name, description))
     return descriptions
开发者ID:CSC-IT-Center-for-Science,项目名称:rally,代码行数:8,代码来源:info.py


示例6: get_by_name

 def get_by_name(name):
     """Returns Scenario class by name."""
     # TODO(msdubov): support approximate string matching
     #                (here and in other base classes).
     for scenario in utils.itersubclasses(Scenario):
         if name == scenario.__name__:
             return scenario
     raise exceptions.NoSuchScenario(name=name)
开发者ID:bluejayKR,项目名称:rally,代码行数:8,代码来源:base.py


示例7: _find_substitution

 def _find_substitution(self, query):
     max_distance = min(3, len(query) / 4)
     scenarios = scenario_base.Scenario.list_benchmark_scenarios()
     scenario_groups = list(set(s.split(".")[0] for s in scenarios))
     scenario_methods = list(set(s.split(".")[1] for s in scenarios))
     deploy_engines = [cls.__name__ for cls in utils.itersubclasses(
                       deploy.EngineFactory)]
     server_providers = [cls.__name__ for cls in utils.itersubclasses(
                         serverprovider.ProviderFactory)]
     candidates = (scenarios + scenario_groups + scenario_methods +
                   deploy_engines + server_providers)
     suggestions = []
     # NOTE(msdubov): Incorrect query may either have typos or be truncated.
     for candidate in candidates:
         if ((utils.distance(query, candidate) <= max_distance or
              candidate.startswith(query))):
             suggestions.append(candidate)
     return suggestions
开发者ID:itskewpie,项目名称:rally,代码行数:18,代码来源:info.py


示例8: validate

 def validate(config):
     properties = dict([(c.OPTION_NAME, c.CONFIG_SCHEMA)
                        for c in utils.itersubclasses(SLA)])
     schema = {
         "type": "object",
         "properties": properties,
         "additionalProperties": False,
     }
     jsonschema.validate(config, schema)
开发者ID:bluejayKR,项目名称:rally,代码行数:9,代码来源:base.py


示例9: get_provider

 def get_provider(config, task):
     """Returns instance of vm provider by name."""
     name = config['name']
     for provider in utils.itersubclasses(ProviderFactory):
         if name == provider.__name__:
             provider = provider(config)
             provider.task = task
             return provider
     raise exceptions.NoSuchVMProvider(vm_provider_name=name)
开发者ID:pombredanne,项目名称:rally,代码行数:9,代码来源:provider.py


示例10: get_engine

 def get_engine(name, deployment):
     """Returns instance of a deploy engine with corresponding name."""
     for engine in utils.itersubclasses(EngineFactory):
         if name == engine.__name__:
             new_engine = engine(deployment)
             return new_engine
     LOG.error(_('Deployment %(uuid)s: Deploy engine for %(name)s '
                 'does not exist.') %
               {'uuid': deployment['uuid'], 'name': name})
     deployment.update_status(consts.DeployStatus.DEPLOY_FAILED)
     raise exceptions.NoSuchEngine(engine_name=name)
开发者ID:mohitsethi,项目名称:rally,代码行数:11,代码来源:engine.py


示例11: _get_descriptions

 def _get_descriptions(self, base_cls, subclass_filter=None):
     descriptions = []
     subclasses = utils.itersubclasses(base_cls)
     if subclass_filter:
         subclasses = filter(subclass_filter, subclasses)
     for entity in subclasses:
         name = entity.__name__
         doc = utils.parse_docstring(entity.__doc__)
         description = doc["short_description"] or ""
         descriptions.append((name, description))
     descriptions.sort(key=lambda d: d[0])
     return descriptions
开发者ID:linhuacheng,项目名称:rally,代码行数:12,代码来源:info.py


示例12: test_itersubclasses

    def test_itersubclasses(self):
        class A(object):
            pass

        class B(A):
            pass

        class C(A):
            pass

        class D(C):
            pass

        self.assertEqual([B, C, D], list(utils.itersubclasses(A)))
开发者ID:mohitsethi,项目名称:rally,代码行数:14,代码来源:test_utils.py


示例13: list_benchmark_scenarios

    def list_benchmark_scenarios():
        """Lists all the existing methods in the benchmark scenario classes.

        Returns the method names in format <Class name>.<Method name>, which
        is used in the test config.

        :returns: List of strings
        """
        utils.import_modules_from_package("rally.benchmark.scenarios")
        benchmark_scenarios = [
            ["%s.%s" % (scenario.__name__, method) for method in dir(scenario) if not method.startswith("_")]
            for scenario in utils.itersubclasses(Scenario)
        ]
        benchmark_scenarios_flattened = list(itertools.chain.from_iterable(benchmark_scenarios))
        return benchmark_scenarios_flattened
开发者ID:nkhare,项目名称:rally,代码行数:15,代码来源:base.py


示例14: list_benchmark_scenarios

    def list_benchmark_scenarios():
        """Lists all the existing methods in the benchmark scenario classes.

        Returns the method names in format <Class name>.<Method name>, which
        is used in the test config.

        :returns: List of strings
        """
        benchmark_scenarios = [
            ["%s.%s" % (scenario.__name__, func)
             for func in dir(scenario) if Scenario.is_scenario(scenario, func)]
            for scenario in utils.itersubclasses(Scenario)
        ]
        benchmark_scenarios_flattened = list(itertools.chain.from_iterable(
                                                        benchmark_scenarios))
        return benchmark_scenarios_flattened
开发者ID:itskewpie,项目名称:rally,代码行数:16,代码来源:base.py


示例15: get_scenario_by_name

    def get_scenario_by_name(name):
        """Return benchmark scenario method by name.

        :param name: name of the benchmark scenario being searched for (either
                     a full name (e.g, 'NovaServers.boot_server') or just
                     a method name (e.g., 'boot_server')
        :returns: function object
        """
        if "." in name:
            scenario_group, scenario_name = name.split(".", 1)
            scenario_cls = Scenario.get_by_name(scenario_group)
            if Scenario.is_scenario(scenario_cls, scenario_name):
                return getattr(scenario_cls, scenario_name)
        else:
            for scenario_cls in utils.itersubclasses(Scenario):
                if Scenario.is_scenario(scenario_cls, name):
                    return getattr(scenario_cls, name)
        raise exceptions.NoSuchScenario(name=name)
开发者ID:linhuacheng,项目名称:rally,代码行数:18,代码来源:base.py


示例16: check_all

    def check_all(config, result):
        """Check all SLA criteria.

        :param config: sla related config for a task
        :param result: Result of a task
        :returns: A list of sla results
        """

        results = []
        opt_name_map = dict([(c.OPTION_NAME, c)
                             for c in utils.itersubclasses(SLA)])

        for name, criterion in config.get("sla", {}).iteritems():
            check_result = opt_name_map[name].check(criterion, result)
            results.append({'criterion': name,
                            'success': check_result.success,
                            'detail': check_result.msg})
        return results
开发者ID:linhuacheng,项目名称:rally,代码行数:18,代码来源:base.py


示例17: check_all

    def check_all(task):
        """Check all SLA criteria.

        :param task: Task object
        :returns: Generator
        """

        opt_name_map = dict([(c.OPTION_NAME, c)
                             for c in utils.itersubclasses(SLA)])

        for result in task.results:
            config = result['key']['kw'].get('sla', None)
            if config:
                for name, criterion in config.iteritems():
                    success = opt_name_map[name].check(criterion, result)
                    yield {'benchmark': result['key']['name'],
                           'pos': result['key']['pos'],
                           'criterion': name,
                           'success': success}
开发者ID:KevinTsang,项目名称:rally,代码行数:19,代码来源:base.py


示例18: list_benchmark_scenarios

    def list_benchmark_scenarios(scenario_cls):
        """List all scenarios in the benchmark scenario class & its subclasses.

        Returns the method names in format <Class name>.<Method name>, which
        is used in the test config.

        :param scenario_cls: the base class for searching scenarios in
        :returns: List of strings
        """
        scenario_classes = (list(utils.itersubclasses(scenario_cls)) +
                            [scenario_cls])
        benchmark_scenarios = [
            ["%s.%s" % (scenario.__name__, func)
             for func in dir(scenario) if Scenario.is_scenario(scenario, func)]
            for scenario in scenario_classes
        ]
        benchmark_scenarios_flattened = list(itertools.chain.from_iterable(
                                                        benchmark_scenarios))
        return benchmark_scenarios_flattened
开发者ID:linhuacheng,项目名称:rally,代码行数:19,代码来源:base.py


示例19: list_resource_names

def list_resource_names(admin_required=None):
    """List all resource managers names.

    Returns all service names and all combination of service.resource names.

    :param admin_required: None -> returns all ResourceManagers
                           True -> returns only admin ResourceManagers
                           False -> returns only non admin ResourceManagers
    """
    res_mgrs = rutils.itersubclasses(base.ResourceManager)
    if admin_required is not None:
        res_mgrs = filter(lambda cls: cls._admin_required == admin_required,
                          res_mgrs)

    names = set()
    for cls in res_mgrs:
        names.add(cls._service)
        names.add("%s.%s" % (cls._service, cls._resource))

    return names
开发者ID:CSC-IT-Center-for-Science,项目名称:rally,代码行数:20,代码来源:manager.py


示例20: test_res_manager_special_field

    def test_res_manager_special_field(self):

        for res_mgr in utils.itersubclasses(base.ResourceManager):
            manager_name = "%s.%s" % (res_mgr.__module__, res_mgr.__name__)

            fields = filter(lambda x: not x.startswith("__"), dir(res_mgr))

            available_opts = set([
                "_admin_required", "_perform_for_admin_only",
                "_tenant_resource", "_service", "_resource", "_order",
                "_max_attempts", "_timeout", "_interval", "_threads",
                "_manager", "id", "is_deleted", "delete", "list"
            ])

            extra_opts = set(fields) - available_opts

            self.assertFalse(
                extra_opts,
                ("ResourceManager %(name)s contains extra fields: %(opts)s."
                 " Remove them to pass this test")
                % {"name": manager_name, "opts": ", ".join(extra_opts)})
开发者ID:linhuacheng,项目名称:rally,代码行数:21,代码来源:test_resources.py



注:本文中的rally.utils.itersubclasses函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python models.Venture类代码示例发布时间:2022-05-26
下一篇:
Python validation._get_validated_image函数代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap