summaryrefslogtreecommitdiff
path: root/keystoneclient/base.py
diff options
context:
space:
mode:
authorSamuel Pilla <sp516w@att.com>2017-01-20 09:43:14 -0600
committerTin Lam <tinlam@gmail.com>2017-01-24 19:43:53 -0600
commitef6ffa651616476d4207549b3121bfde096e16cf (patch)
tree6fe982ceb43e558da0dcdbb645da7458867326c4 /keystoneclient/base.py
parentdcb719d0e51afa0253c144136b41f0e390c48c4c (diff)
downloadpython-keystoneclient-ef6ffa651616476d4207549b3121bfde096e16cf.tar.gz
Allow Multiple Filters of the Same Key
Before, the way filters were passed in would not allow filtering on the same key. For example: keystone.users.list(name__contains='test', name__contains='user') This fails because of how kwargs handles key/value pairs. This patch allows using multiple values for the same filter. Example: keystone.users.list(name__contains=['test', 'user']) Specifying the only one filter value is still functional as expected. Co-Authored-By: Jeffrey Augustine <ja224e@att.com> Partially-Implements: bp pci-dss-query-password-expired-users Change-Id: I89cecf7e18974e7860ba0925840d6264168eabcb
Diffstat (limited to 'keystoneclient/base.py')
-rw-r--r--keystoneclient/base.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/keystoneclient/base.py b/keystoneclient/base.py
index 4e393c6..dc449f7 100644
--- a/keystoneclient/base.py
+++ b/keystoneclient/base.py
@@ -353,7 +353,10 @@ class CrudManager(Manager):
return self._head(self.build_url(dict_args_in_out=kwargs))
def _build_query(self, params):
- return '?%s' % urllib.parse.urlencode(params) if params else ''
+ if params is None:
+ return ''
+ else:
+ return '?%s' % urllib.parse.urlencode(params, doseq=True)
def build_key_only_query(self, params_list):
"""Build a query that does not include values, just keys.