From 8a5cbf9391cf1c15ed46e2fad81e7c130c797fbb Mon Sep 17 00:00:00 2001 From: Mads Marquart Date: Fri, 23 Nov 2018 11:54:14 +0100 Subject: [PATCH] Added `Resource.prepare_list` --- restless/resources.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/restless/resources.py b/restless/resources.py index 644319d..653d304 100644 --- a/restless/resources.py +++ b/restless/resources.py @@ -405,7 +405,7 @@ def serialize_list(self, data): if not getattr(data, 'should_prepare', True): prepped_data = data.value else: - prepped_data = [self.prepare(item) for item in data] + prepped_data = self.prepare_list(data) final_data = self.wrap_list_response(prepped_data) return self.serializer.serialize(final_data) @@ -432,6 +432,20 @@ def serialize_detail(self, data): return self.serializer.serialize(prepped_data) + def prepare_list(self, data): + """ + Given a collection of data (``objects`` or ``dicts``), this will + potentially go through & reshape the output with the ``self.prepare`` + method. + + :param data: A collection to prepare for serialization + :type data: list or iterable + + :returns: A potentially reshaped collection + :rtype: list + """ + return [self.prepare(item) for item in data] + def prepare(self, data): """ Given an item (``object`` or ``dict``), this will potentially go through