don't try to cache binary data

This commit is contained in:
Laura Klünder 2017-10-19 14:07:24 +02:00
parent e1eeef6405
commit f1ffdf471a
2 changed files with 3 additions and 5 deletions

View file

@ -58,7 +58,8 @@ def get_render_level_data(level):
level_pk, level_base_altitude = Level.objects.filter(pk=level).values_list('pk', 'base_altitude')[0]
levels = Level.objects.filter(Q(on_top_of=level_pk) | Q(base_altitude__lte=level_base_altitude))
result = levels.values_list('geoms_cache', 'default_height')
result = ((pickle.loads(geoms_cache), default_height)
for geoms_cache, default_height in levels.values_list('geoms_cache', 'default_height'))
cache.set(cache_key, result, 900)
return levels

View file

@ -1,5 +1,3 @@
import pickle
from shapely.geometry import box
from c3nav.mapdata.render.base import get_render_level_data
@ -12,8 +10,7 @@ def render_svg(level, miny, minx, maxy, maxx, scale=1):
within_coords = (minx-2, miny-2, maxx+2, maxy+2)
bbox = box(*within_coords)
for geoms_cache, default_height in get_render_level_data(level):
geoms = pickle.loads(geoms_cache)
for geoms, default_height in get_render_level_data(level):
for altitudearea_geom, altitude in geoms.altitudeareas:
svg.add_geometry(bbox.intersection(altitudearea_geom), fill_color='#eeeeee', altitude=altitude)