summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-11-26 19:13:30 +0000
committerGerrit Code Review <review@openstack.org>2014-11-26 19:13:30 +0000
commiteadb40ccb62566f02cb93ec03aa232e48835dec3 (patch)
treeee02fc209277c6af9c3f4992351d70ed00ea69c6
parentf09c4c8d3de632dc7b7b3b3a1c4eb32d7ccd3652 (diff)
parent36d8a134d679d9c0e6c9b09c3c1c584a32797cfb (diff)
downloadpython-saharaclient-eadb40ccb62566f02cb93ec03aa232e48835dec3.tar.gz
Merge "Adding support for query filtering to list() calls"0.7.6
-rw-r--r--saharaclient/api/base.py10
-rw-r--r--saharaclient/api/cluster_templates.py5
-rw-r--r--saharaclient/api/clusters.py5
-rw-r--r--saharaclient/api/data_sources.py5
-rw-r--r--saharaclient/api/images.py5
-rw-r--r--saharaclient/api/job_binaries.py5
-rw-r--r--saharaclient/api/job_binary_internals.py5
-rw-r--r--saharaclient/api/job_executions.py5
-rw-r--r--saharaclient/api/jobs.py5
-rw-r--r--saharaclient/api/node_group_templates.py6
-rw-r--r--saharaclient/api/plugins.py5
11 files changed, 41 insertions, 20 deletions
diff --git a/saharaclient/api/base.py b/saharaclient/api/base.py
index c2c9c36..ee85c2d 100644
--- a/saharaclient/api/base.py
+++ b/saharaclient/api/base.py
@@ -17,6 +17,7 @@ import json
import logging
import six
+from six.moves.urllib import parse
from saharaclient.openstack.common.gettextutils import _
@@ -161,3 +162,12 @@ class APIException(Exception):
self.error_code = error_code
self.error_name = error_name
self.error_message = error_message
+
+
+def get_query_string(search_opts):
+ if search_opts:
+ qparams = sorted(search_opts.items(), key=lambda x: x[0])
+ query_string = "?%s" % parse.urlencode(qparams)
+ else:
+ query_string = ""
+ return query_string \ No newline at end of file
diff --git a/saharaclient/api/cluster_templates.py b/saharaclient/api/cluster_templates.py
index 7bb3f61..44f4bc5 100644
--- a/saharaclient/api/cluster_templates.py
+++ b/saharaclient/api/cluster_templates.py
@@ -60,8 +60,9 @@ class ClusterTemplateManager(base.ResourceManager):
return self._update('/cluster-templates/%s' % cluster_template_id,
data, 'cluster_template')
- def list(self):
- return self._list('/cluster-templates', 'cluster_templates')
+ def list(self, search_opts=None):
+ query = base.get_query_string(search_opts)
+ return self._list('/cluster-templates%s' % query, 'cluster_templates')
def get(self, cluster_template_id):
return self._get('/cluster-templates/%s' % cluster_template_id,
diff --git a/saharaclient/api/clusters.py b/saharaclient/api/clusters.py
index ec9a822..a86c270 100644
--- a/saharaclient/api/clusters.py
+++ b/saharaclient/api/clusters.py
@@ -64,8 +64,9 @@ class ClusterManager(base.ResourceManager):
def scale(self, cluster_id, scale_object):
return self._update('/clusters/%s' % cluster_id, scale_object)
- def list(self):
- return self._list('/clusters', 'clusters')
+ def list(self, search_opts=None):
+ query = base.get_query_string(search_opts)
+ return self._list('/clusters%s' % query, 'clusters')
def get(self, cluster_id):
return self._get('/clusters/%s' % cluster_id, 'cluster')
diff --git a/saharaclient/api/data_sources.py b/saharaclient/api/data_sources.py
index 7ba0059..1fa5fb6 100644
--- a/saharaclient/api/data_sources.py
+++ b/saharaclient/api/data_sources.py
@@ -37,8 +37,9 @@ class DataSourceManager(base.ResourceManager):
password=credential_pass)
return self._create('/data-sources', data, 'data_source')
- def list(self):
- return self._list('/data-sources', 'data_sources')
+ def list(self, search_opts=None):
+ query = base.get_query_string(search_opts)
+ return self._list('/data-sources%s' % query, 'data_sources')
def get(self, data_source_id):
return self._get('/data-sources/%s' % data_source_id, 'data_source')
diff --git a/saharaclient/api/images.py b/saharaclient/api/images.py
index a705e15..8606d5e 100644
--- a/saharaclient/api/images.py
+++ b/saharaclient/api/images.py
@@ -26,8 +26,9 @@ class Image(base.Resource):
class ImageManager(base.ResourceManager):
resource_class = Image
- def list(self):
- return self._list('/images', 'images')
+ def list(self, search_opts=None):
+ query = base.get_query_string(search_opts)
+ return self._list('/images%s' % query, 'images')
def get(self, id):
return self._get('/images/%s' % id, 'image')
diff --git a/saharaclient/api/job_binaries.py b/saharaclient/api/job_binaries.py
index a1e4b9e..d6f84c9 100644
--- a/saharaclient/api/job_binaries.py
+++ b/saharaclient/api/job_binaries.py
@@ -33,8 +33,9 @@ class JobBinariesManager(base.ResourceManager):
return self._create('/job-binaries', data, 'job_binary')
- def list(self):
- return self._list('/job-binaries', 'binaries')
+ def list(self, search_opts=None):
+ query = base.get_query_string(search_opts)
+ return self._list('/job-binaries%s' % query, 'binaries')
def get(self, job_binary_id):
return self._get('/job-binaries/%s' % job_binary_id, 'job_binary')
diff --git a/saharaclient/api/job_binary_internals.py b/saharaclient/api/job_binary_internals.py
index b90d478..c92cd4d 100644
--- a/saharaclient/api/job_binary_internals.py
+++ b/saharaclient/api/job_binary_internals.py
@@ -27,8 +27,9 @@ class JobBinaryInternalsManager(base.ResourceManager):
return self._update('/job-binary-internals/%s' % name, data,
'job_binary_internal', dump_json=False)
- def list(self):
- return self._list('/job-binary-internals', 'binaries')
+ def list(self, search_opts=None):
+ query = base.get_query_string(search_opts)
+ return self._list('/job-binary-internals%s' % query, 'binaries')
def get(self, job_binary_id):
return self._get('/job-binary-internals/%s' % job_binary_id,
diff --git a/saharaclient/api/job_executions.py b/saharaclient/api/job_executions.py
index 68ef4e6..c5af07e 100644
--- a/saharaclient/api/job_executions.py
+++ b/saharaclient/api/job_executions.py
@@ -23,8 +23,9 @@ class JobExecution(base.Resource):
class JobExecutionsManager(base.ResourceManager):
resource_class = JobExecution
- def list(self):
- return self._list('/job-executions', 'job_executions')
+ def list(self, search_opts=None):
+ query = base.get_query_string(search_opts)
+ return self._list('/job-executions%s' % query, 'job_executions')
def get(self, obj_id):
return self._get('/job-executions/%s' % obj_id, 'job_execution')
diff --git a/saharaclient/api/jobs.py b/saharaclient/api/jobs.py
index d3231eb..6e10ccd 100644
--- a/saharaclient/api/jobs.py
+++ b/saharaclient/api/jobs.py
@@ -34,8 +34,9 @@ class JobsManager(base.ResourceManager):
return self._create('/jobs', data, 'job')
- def list(self):
- return self._list('/jobs', 'jobs')
+ def list(self, search_opts=None):
+ query = base.get_query_string(search_opts)
+ return self._list('/jobs%s' % query, 'jobs')
def get(self, job_id):
return self._get('/jobs/%s' % job_id, 'job')
diff --git a/saharaclient/api/node_group_templates.py b/saharaclient/api/node_group_templates.py
index 9344163..eb4e5f4 100644
--- a/saharaclient/api/node_group_templates.py
+++ b/saharaclient/api/node_group_templates.py
@@ -93,8 +93,10 @@ class NodeGroupTemplateManager(base.ResourceManager):
return self._update('/node-group-templates/%s' % ng_template_id, data,
'node_group_template')
- def list(self):
- return self._list('/node-group-templates', 'node_group_templates')
+ def list(self, search_opts=None):
+ query = base.get_query_string(search_opts)
+ return self._list('/node-group-templates%s' % query,
+ 'node_group_templates')
def get(self, ng_template_id):
return self._get('/node-group-templates/%s' % ng_template_id,
diff --git a/saharaclient/api/plugins.py b/saharaclient/api/plugins.py
index 967da39..0e877a4 100644
--- a/saharaclient/api/plugins.py
+++ b/saharaclient/api/plugins.py
@@ -31,8 +31,9 @@ class Plugin(base.Resource):
class PluginManager(base.ResourceManager):
resource_class = Plugin
- def list(self):
- return self._list('/plugins', 'plugins')
+ def list(self, search_opts=None):
+ query = base.get_query_string(search_opts)
+ return self._list('/plugins%s' % query, 'plugins')
def get(self, plugin_name):
return self._get('/plugins/%s' % plugin_name, 'plugin')