def get_eps(): """ Returns an .eps file with custom colors and height. """ color_names = process.get_thumbnail_colors().keys() colors = {} for color_name in color_names: color_str = request.args.get(color_name, '0,0,0,1') try: color = process_color_str(color_str) except ValueError: abort(400) colors[color_name] = color try: aspect = request.args.get('aspect', 'robinson') if aspect not in ('robinson', 'A', 'golden'): raise ValueError except ValueError: abort(400) name = "eps" + \ "-".join(name + "=" + str(colors[name]) for name in sorted(colors)) + \ "aspect=" + str(aspect) eps_io = cache.get(name) if eps_io is None: eps_io = process.get_eps(colors, aspect) cache.set(name, eps_io) return send_file(eps_io, mimetype='application/postscript', attachment_filename="textmap.eps", as_attachment=True)
def get_colors(): """ Returns a json with mapping from color names to colors in the thumbnail. """ callback = request.args.get('callback', '') return callback + "(" + jsonify(process.get_thumbnail_colors()).data + ");"