From c6cb503b611a7e8d70406b95afa17ce78256b603 Mon Sep 17 00:00:00 2001 From: Steve Pulec Date: Fri, 29 Aug 2014 20:31:02 -0400 Subject: [PATCH] Make _get_multi_param smarter. --- moto/autoscaling/responses.py | 6 +++--- moto/core/responses.py | 12 ++++++++++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/moto/autoscaling/responses.py b/moto/autoscaling/responses.py index 913f6aa0b..693022d96 100644 --- a/moto/autoscaling/responses.py +++ b/moto/autoscaling/responses.py @@ -10,7 +10,7 @@ class AutoScalingResponse(BaseResponse): @property def autoscaling_backend(self): - return autoscaling_backends[self.region] + return autoscaling_backends[self.region] def _get_int_param(self, param_name): value = self._get_param(param_name) @@ -56,7 +56,7 @@ class AutoScalingResponse(BaseResponse): return template.render() def describe_launch_configurations(self): - names = self._get_multi_param('LaunchConfigurationNames') + names = self._get_multi_param('LaunchConfigurationNames.member') launch_configurations = self.autoscaling_backend.describe_launch_configurations(names) template = Template(DESCRIBE_LAUNCH_CONFIGURATIONS_TEMPLATE) return template.render(launch_configurations=launch_configurations) @@ -87,7 +87,7 @@ class AutoScalingResponse(BaseResponse): return template.render() def describe_auto_scaling_groups(self): - names = self._get_multi_param("AutoScalingGroupNames") + names = self._get_multi_param("AutoScalingGroupNames.member") groups = self.autoscaling_backend.describe_autoscaling_groups(names) template = Template(DESCRIBE_AUTOSCALING_GROUPS_TEMPLATE) return template.render(groups=groups) diff --git a/moto/core/responses.py b/moto/core/responses.py index 57e3f3c51..e4feb3d0f 100644 --- a/moto/core/responses.py +++ b/moto/core/responses.py @@ -112,8 +112,16 @@ class BaseResponse(object): prefix = param_prefix else: prefix = param_prefix + "." - return [value[0] for key, value in self.querystring.items() - if key.startswith(prefix)] + values = [] + index = 1 + while True: + try: + values.append(self.querystring[prefix + str(index)][0]) + except KeyError: + break + else: + index += 1 + return values def metadata_response(request, full_url, headers):