当前位置: 首页>>代码示例>>Python>>正文


Python utils.itersubclasses函数代码示例

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


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


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