Merge "Add sorting ability to Python-saharaclient"

This commit is contained in:
Jenkins 2016-08-11 15:29:20 +00:00 committed by Gerrit Code Review
commit 9a440b9f06
9 changed files with 39 additions and 17 deletions

View File

@ -251,12 +251,18 @@ class APIException(Exception):
self.error_message = error_message
def get_query_string(search_opts, limit=None, marker=None):
def get_query_string(search_opts, limit=None, marker=None, sort_by=None,
reverse=None):
opts = {}
if marker is not None:
opts['marker'] = marker
if limit is not None:
opts['limit'] = limit
if sort_by is not None:
if reverse:
opts['sort_by'] = "-%s" % sort_by
else:
opts['sort_by'] = sort_by
if search_opts is not None:
opts.update(search_opts)
if opts:

View File

@ -81,9 +81,11 @@ class ClusterTemplateManager(base.ResourceManager):
return self._update('/cluster-templates/%s' % cluster_template_id,
data, 'cluster_template')
def list(self, search_opts=None, marker=None, limit=None):
def list(self, search_opts=None, marker=None,
limit=None, sort_by=None, reverse=None):
"""Get list of Cluster Templates."""
query = base.get_query_string(search_opts, marker=marker, limit=limit)
query = base.get_query_string(search_opts, marker=marker, limit=limit,
sort_by=sort_by, reverse=reverse)
url = "/cluster-templates%s" % query
return self._page(url, 'cluster_templates', limit)

View File

@ -100,9 +100,11 @@ class ClusterManager(base.ResourceManager):
"""
return self._update('/clusters/%s' % cluster_id, scale_object)
def list(self, search_opts=None, limit=None, marker=None):
def list(self, search_opts=None, limit=None, marker=None,
sort_by=None, reverse=None):
"""Get a list of Clusters."""
query = base.get_query_string(search_opts, limit=limit, marker=marker)
query = base.get_query_string(search_opts, limit=limit, marker=marker,
sort_by=sort_by, reverse=reverse)
url = "/clusters%s" % query
return self._page(url, 'clusters', limit)

View File

@ -44,9 +44,11 @@ class DataSourceManager(base.ResourceManager):
return self._create('/data-sources', data, 'data_source')
def list(self, search_opts=None, limit=None, marker=None):
def list(self, search_opts=None, limit=None, marker=None,
sort_by=None, reverse=None):
"""Get a list of Data Sources."""
query = base.get_query_string(search_opts, limit=limit, marker=marker)
query = base.get_query_string(search_opts, limit=limit, marker=marker,
sort_by=sort_by, reverse=reverse)
url = "/data-sources%s" % query
return self._page(url, 'data_sources', limit)

View File

@ -36,9 +36,11 @@ class JobBinariesManager(base.ResourceManager):
return self._create('/job-binaries', data, 'job_binary')
def list(self, search_opts=None, limit=None, marker=None):
def list(self, search_opts=None, limit=None, marker=None,
sort_by=None, reverse=None):
"""Get a list of Job Binaries."""
query = base.get_query_string(search_opts, limit=limit, marker=marker)
query = base.get_query_string(search_opts, limit=limit, marker=marker,
sort_by=sort_by, reverse=reverse)
url = "/job-binaries%s" % query
return self._page(url, 'binaries', limit)

View File

@ -35,9 +35,11 @@ class JobBinaryInternalsManager(base.ResourceManager):
urlparse.quote(name.encode('utf-8')), data,
'job_binary_internal', dump_json=False)
def list(self, search_opts=None, limit=None, marker=None):
def list(self, search_opts=None, limit=None, marker=None,
sort_by=None, reverse=None):
"""Get a list of Job Binary Internals."""
query = base.get_query_string(search_opts, limit=limit, marker=marker)
query = base.get_query_string(search_opts, limit=limit, marker=marker,
sort_by=sort_by, reverse=reverse)
url = "/job-binary-internals%s" % query
return self._page(url, 'binaries', limit)

View File

@ -24,9 +24,11 @@ class JobExecutionsManager(base.ResourceManager):
resource_class = JobExecution
NotUpdated = base.NotUpdated()
def list(self, search_opts=None, marker=None, limit=None):
def list(self, search_opts=None, marker=None, limit=None,
sort_by=None, reverse=None):
"""Get a list of Job Executions."""
query = base.get_query_string(search_opts, limit=limit, marker=marker)
query = base.get_query_string(search_opts, limit=limit, marker=marker,
sort_by=sort_by, reverse=reverse)
url = "/job-executions%s" % query
return self._page(url, 'job_executions', limit)

View File

@ -38,9 +38,11 @@ class JobsManager(base.ResourceManager):
return self._create('/jobs', data, 'job')
def list(self, search_opts=None, limit=None, marker=None):
def list(self, search_opts=None, limit=None,
marker=None, sort_by=None, reverse=None):
"""Get a list of Jobs."""
query = base.get_query_string(search_opts, limit=limit, marker=marker)
query = base.get_query_string(search_opts, limit=limit, marker=marker,
sort_by=sort_by, reverse=reverse)
url = "/jobs%s" % query
return self._page(url, 'jobs', limit)

View File

@ -111,9 +111,11 @@ class NodeGroupTemplateManager(base.ResourceManager):
return self._update('/node-group-templates/%s' % ng_template_id, data,
'node_group_template')
def list(self, search_opts=None, marker=None, limit=None):
def list(self, search_opts=None, marker=None,
limit=None, sort_by=None, reverse=None):
"""Get a list of Node Group Templates."""
query = base.get_query_string(search_opts, limit=limit, marker=marker)
query = base.get_query_string(search_opts, limit=limit, marker=marker,
sort_by=sort_by, reverse=reverse)
url = "/node-group-templates%s" % query
return self._page(url, 'node_group_templates', limit)