def symbols(self, **params): from db.common.symbols import ShieldFactory factory = ShieldFactory( 'SwissMobile', 'JelRef', 'KCTRef', 'ItalianHikingRefs', 'OSMCSymbol', 'Nordic', 'Slopes', 'ShieldImage', 'TextColorBelow', 'ColorBox', 'TextSymbol', ) sym = factory.create(TagStore(params), params.get('_network', ''), 10) if sym is None: raise cherrypy.NotFound() with NamedTemporaryFile() as f: sym.write_image(f.name) factory._mangle_svg(f.name) with open(f.name, 'rb') as f: res = f.read() cherrypy.response.headers['Content-Type'] = 'image/svg+xml' return res