From 43a8d6f953da05137c761fddf7689fcd389f1807 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Fri, 12 May 2017 13:26:18 +0200 Subject: [PATCH] =?UTF-8?q?API=20HTML=20preview=20=E2=80=93=20shorten=20le?= =?UTF-8?q?ss=20for=20outputs=20without=20geometry?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/c3nav/api/__init__.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/c3nav/api/__init__.py b/src/c3nav/api/__init__.py index 2d5a79ca..92375740 100644 --- a/src/c3nav/api/__init__.py +++ b/src/c3nav/api/__init__.py @@ -11,15 +11,16 @@ orig_render = JSONRenderer.render def nicer_renderer(self, data, accepted_media_type=None, renderer_context=None): if self.get_indent(accepted_media_type, renderer_context) is None: return orig_render(self, data, accepted_media_type, renderer_context) - shorten = isinstance(data, (list, tuple)) and len(data) > 5 + shorten_limit = 5 if 'geometry' in data[0] else 50 + shorten = isinstance(data, (list, tuple)) and len(data) > shorten_limit orig_len = None if shorten: - orig_len = len(data)-5 - data = data[:5] + remaining_len = len(data)-shorten_limit + data = data[:shorten_limit] result = json_encoder_reindent(lambda d: orig_render(self, d, accepted_media_type, renderer_context), data) if shorten: result = (result[:-2] + - ('\n ...%d more elements (truncated for HTML preview)...' % orig_len).encode() + + ('\n ...%d more elements (truncated for HTML preview)...' % remaining_len).encode() + result[-2:]) return result