Implement naive reverseOrder option for SWF's ListDomains endpoint

This commit is contained in:
Jean-Baptiste Barth 2015-09-30 12:54:54 +02:00
commit cb46eac513
3 changed files with 33 additions and 6 deletions

View file

@ -45,10 +45,14 @@ class SWFBackend(BaseBackend):
if not isinstance(parameter, basestring):
raise SWFSerializationException()
def list_domains(self, status):
def list_domains(self, status, reverse_order=None):
self._check_string(status)
return [domain for domain in self.domains
if domain.status == status]
domains = [domain for domain in self.domains
if domain.status == status]
domains = sorted(domains, key=lambda domain: domain.name)
if reverse_order:
domains = reversed(domains)
return domains
def register_domain(self, name, workflow_execution_retention_period_in_days,
description=None):

View file

@ -51,11 +51,11 @@ class SWFResponse(BaseResponse):
def _params(self):
return json.loads(self.body)
# TODO: implement "reverseOrder" option
# TODO: implement pagination
def list_domains(self):
status = self._params.get("registrationStatus")
domains = self.swf_backend.list_domains(status)
reverse_order = self._params.get("reverseOrder", None)
domains = self.swf_backend.list_domains(status, reverse_order=reverse_order)
template = self.response_template(LIST_DOMAINS_TEMPLATE)
return template.render(domains=domains)