def __init__(self, resources, page, params): self.resources = resources self.params = params self.page = page if is_generator(self.resources): self.total_objects = self.__no_support self.paginated_objects = self.__paginated_list elif is_list(self.resources): self.total_objects = self.__total_in_list self.paginated_objects = self.__paginated_list
def handle_response(self, request, response, fields, parameters): ''' Proccess response into a JSON serializable object ''' current_fields = fields(kwargs) if callable(fields) else fields status = DEFAULT_STATUS_CODE if is_tuple(response): status, response = response if is_valuesset(response): response = self.handle_list_response( request, list(response), current_fields, parameters) elif is_queryset(response): response = self.select_related(response, current_fields) response = self.handle_queryset_response( request, response, current_fields, parameters) elif is_modelinstance(response): response = self.handle_model_response(response, current_fields) elif is_generator(response) or is_list(response): response = self.handle_list_response( request, response, current_fields, parameters) response = self.uglify_json(response) if self.uglify else response return to_http(request, response, status)