add heavy caching to mapdata api
This commit is contained in:
parent
23da7e3605
commit
00193f7e11
22 changed files with 259 additions and 138 deletions
|
@ -2,7 +2,7 @@ from functools import wraps
|
|||
|
||||
from rest_framework.renderers import JSONRenderer
|
||||
|
||||
from c3nav.mapdata.utils import json_encoder_reindent
|
||||
from c3nav.mapdata.utils.json import json_encoder_reindent
|
||||
|
||||
orig_render = JSONRenderer.render
|
||||
|
||||
|
@ -11,11 +11,11 @@ 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) > 2
|
||||
shorten = isinstance(data, (list, tuple)) and len(data) > 5
|
||||
orig_len = None
|
||||
if shorten:
|
||||
orig_len = len(data)-2
|
||||
data = data[:2]
|
||||
orig_len = len(data)-5
|
||||
data = data[:5]
|
||||
result = json_encoder_reindent(lambda d: orig_render(self, d, accepted_media_type, renderer_context), data)
|
||||
if shorten:
|
||||
result = (result[:-2] +
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue