def list(self, response, res): params = dict(response.request.params) params.pop('marker', None) query = urlparse.urlencode(params) type_name = response.request.urlvars.get('type_name') type_version = response.request.urlvars.get('type_version') if response.request.urlvars.get('state') == 'creating': drafts = "/drafts" else: drafts = "" artifacts_list = [ serialization.serialize_for_client(a, show_level=Showlevel.NONE) for a in res['artifacts'] ] url = "/v0.1/artifacts" if type_name: url += "/" + type_name if type_version: url += "/v" + type_version url += drafts if query: first_url = url + "?" + query else: first_url = url body = {"artifacts": artifacts_list, "first": first_url} if 'next_marker' in res: params['marker'] = res['next_marker'] next_query = urlparse.urlencode(params) body['next'] = url + '?' + next_query content = json.dumps(body, ensure_ascii=False) response.unicode_body = six.text_type(content) response.content_type = 'application/json'
def list(self, response, res): params = dict(response.request.params) params.pop('marker', None) query = urlparse.urlencode(params) type_name = response.request.urlvars.get('type_name') type_version = response.request.urlvars.get('type_version') if response.request.urlvars.get('state') == 'creating': drafts = "/drafts" else: drafts = "" artifacts_list = [ serialization.serialize_for_client(a, show_level=Showlevel.NONE) for a in res['artifacts']] url = "/v0.1/artifacts" if type_name: url += "/" + type_name if type_version: url += "/v" + type_version url += drafts if query: first_url = url + "?" + query else: first_url = url body = { "artifacts": artifacts_list, "first": first_url } if 'next_marker' in res: params['marker'] = res['next_marker'] next_query = urlparse.urlencode(params) body['next'] = url + '?' + next_query content = json.dumps(body, ensure_ascii=False) response.unicode_body = six.text_type(content) response.content_type = 'application/json'
def default(self, response, res): artifact = serialization.serialize_for_client( res, show_level=Showlevel.DIRECT) body = json.dumps(artifact, ensure_ascii=False) response.unicode_body = six.text_type(body) response.content_type = 'application/json'