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


Python ec2utils.dict_from_dotted_str函数代码示例

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


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

示例1: invoke

    def invoke(self, context):
        try:
            method = getattr(self.controller,
                             ec2utils.camelcase_to_underscore(self.action))
        except AttributeError:
            LOG.debug('Unsupported API request: controller = '
                        '%(controller)s, action = %(action)s',
                        {'controller': self.controller,
                         'action': self.action})
            # TODO(gundlach): Raise custom exception, trap in apiserver,
            #       and reraise as 400 error.
            raise exception.InvalidRequest()

        args = ec2utils.dict_from_dotted_str(self.args.items())

        for key in args.keys():
            # NOTE(vish): Turn numeric dict keys into lists
            if isinstance(args[key], dict):
                if args[key] != {} and args[key].keys()[0].isdigit():
                    s = args[key].items()
                    s.sort()
                    args[key] = [v for k, v in s]

        result = method(context, **args)
        return self._render_response(result, context.request_id)
开发者ID:AsherBond,项目名称:nova,代码行数:25,代码来源:apirequest.py

示例2: invoke

    def invoke(self, context):
        try:
            # Raise NotImplemented exception for Admin specific request if
            # admin flag is set to false in nova.conf
            if (isinstance(self.controller, AdminController) and
                          (not FLAGS.allow_ec2_admin_api)):
                ## Raise InvalidRequest exception for EC2 Admin interface ##
                LOG.exception("Unsupported API request")
                raise exception.InvalidRequest()

            method = getattr(self.controller,
                             ec2utils.camelcase_to_underscore(self.action))
        except AttributeError:
            controller = self.controller
            action = self.action
            _error = _('Unsupported API request: controller = %(controller)s,'
                    ' action = %(action)s') % locals()
            LOG.exception(_error)
            # TODO: Raise custom exception, trap in apiserver,
            #       and reraise as 400 error.
            raise exception.InvalidRequest()

        args = ec2utils.dict_from_dotted_str(self.args.items())

        for key in args.keys():
            # NOTE(vish): Turn numeric dict keys into lists
            if isinstance(args[key], dict):
                if args[key] != {} and args[key].keys()[0].isdigit():
                    s = args[key].items()
                    s.sort()
                    args[key] = [v for k, v in s]

        result = method(context, **args)
        return self._render_response(result, context.request_id)
开发者ID:Razique,项目名称:nova,代码行数:34,代码来源:apirequest.py

示例3: test_dict_from_dotted_str

    def test_dict_from_dotted_str(self):
        in_str = [('BlockDeviceMapping.1.DeviceName', '/dev/sda1'),
                  ('BlockDeviceMapping.1.Ebs.SnapshotId', 'snap-0000001c'),
                  ('BlockDeviceMapping.1.Ebs.VolumeSize', '80'),
                  ('BlockDeviceMapping.1.Ebs.DeleteOnTermination', 'false'),
                  ('BlockDeviceMapping.2.DeviceName', '/dev/sdc'),
                  ('BlockDeviceMapping.2.VirtualName', 'ephemeral0')]
        expected_dict = {
            'block_device_mapping': {
            '1': {'device_name': '/dev/sda1',
                  'ebs': {'snapshot_id': 'snap-0000001c',
                          'volume_size': 80,
                          'delete_on_termination': False}},
            '2': {'device_name': '/dev/sdc',
                  'virtual_name': 'ephemeral0'}}}
        out_dict = ec2utils.dict_from_dotted_str(in_str)

        self.assertDictMatch(out_dict, expected_dict)
开发者ID:derekhiggins,项目名称:nova,代码行数:18,代码来源:test_api.py

示例4: test_dict_from_dotted_str

    def test_dict_from_dotted_str(self):
        in_str = [
            ("BlockDeviceMapping.1.DeviceName", "/dev/sda1"),
            ("BlockDeviceMapping.1.Ebs.SnapshotId", "snap-0000001c"),
            ("BlockDeviceMapping.1.Ebs.VolumeSize", "80"),
            ("BlockDeviceMapping.1.Ebs.DeleteOnTermination", "false"),
            ("BlockDeviceMapping.2.DeviceName", "/dev/sdc"),
            ("BlockDeviceMapping.2.VirtualName", "ephemeral0"),
        ]
        expected_dict = {
            "block_device_mapping": {
                "1": {
                    "device_name": "/dev/sda1",
                    "ebs": {"snapshot_id": "snap-0000001c", "volume_size": 80, "delete_on_termination": False},
                },
                "2": {"device_name": "/dev/sdc", "virtual_name": "ephemeral0"},
            }
        }
        out_dict = ec2utils.dict_from_dotted_str(in_str)

        self.assertDictMatch(out_dict, expected_dict)
开发者ID:renuka-apte,项目名称:nova,代码行数:21,代码来源:test_api.py


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