Beispiel #1
0
 def handle_list_response(self, request, resources, fields, parameters):
     '''
     Serialize list based response
     '''
     builder = self.get_builder(fields)
     serialized = []
     for each in resources:
         if is_modelinstance(each):
             serialized.append( self.serialize(each, fields, builder) )
         else:
             serialized.append( each )
     return serialized, builder.links
Beispiel #2
0
 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)