Merge "Fixes quantum.api.v2.base._filters to be more intuitive"

This commit is contained in:
Jenkins 2013-01-13 10:55:54 +00:00 committed by Gerrit Code Review
commit b07504f887

View File

@ -67,8 +67,10 @@ def _filters(request, attr_info):
if key == 'fields': if key == 'fields':
continue continue
values = [v for v in request.GET.getall(key) if v] values = [v for v in request.GET.getall(key) if v]
key_attr_info = attr_info.get(key, {}) if not values:
if not key_attr_info and values: continue
key_attr_info = attr_info.get(key)
if not key_attr_info:
res[key] = values res[key] = values
continue continue
convert_list_to = key_attr_info.get('convert_list_to') convert_list_to = key_attr_info.get('convert_list_to')
@ -77,12 +79,13 @@ def _filters(request, attr_info):
if convert_to: if convert_to:
convert_list_to = lambda values_: [convert_to(x) convert_list_to = lambda values_: [convert_to(x)
for x in values_] for x in values_]
if convert_list_to: else:
result_values = convert_list_to(values) convert_list_to = lambda values_: None
else: result_values = convert_list_to(values)
result_values = values
if result_values: if result_values:
res[key] = result_values res[key] = result_values
else:
res[key] = values
return res return res