def handle_array_query(): array_name, indexers = split_array_base(request.path.rstrip('/')) arr = get_array(array_name, indexers) base_url = request.url_root[:-1] #no query params # NOTE: len(request.values) was failing within werkzeug if len(list(request.values)) == 0: return html_array(arr, base_url, array_name, indexers) q_req = request.values['r'] if q_req == 'data.json': dat = arr.ddesc.dynd_arr() return Response(nd.as_py(nd.format_json(dat).view_scalars(ndt.bytes)), mimetype='application/json') elif q_req == 'datashape': content_type = 'text/plain; charset=utf-8' return str(arr.dshape) elif q_req == 'dyndtype': content_type = 'application/json; charset=utf-8' body = str(arr.dtype) return Response(body, mimetype='application/json') elif q_req == 'dynddebug': return arr.debug_repr() elif q_req == 'create_session': session = compute_session(base_url, add_indexers_to_url(array_name, indexers)) app.sessions[session.session_name] = session content_type, body = session.creation_response() return Response(body, mimetype='application/json') else: abort(400, "Unknown Blaze server request %s" % q_req)
def handle_array_query(): array_name, indexers = split_array_base(request.path.rstrip('/')) arr = get_array(array_name, indexers) base_url = request.url_root[:-1] #no query params # NOTE: len(request.values) was failing within werkzeug if len(list(request.values)) == 0: return html_array(arr, base_url, array_name, indexers) q_req = request.values['r'] if q_req == 'data.json': dat = arr.ddesc.dynd_arr() return Response(nd.as_py(nd.format_json(dat).view_scalars(ndt.bytes)), mimetype='application/json') elif q_req == 'datashape': content_type = 'text/plain; charset=utf-8' return str(arr.dshape) elif q_req == 'dyndtype': content_type = 'application/json; charset=utf-8' body = str(arr.dtype) return Response(body, mimetype='application/json') elif q_req == 'dynddebug': return arr.debug_repr() elif q_req == 'create_session': session = compute_session(base_url, add_indexers_to_url(array_name, indexers)) app.sessions[session.session_name] = session content_type, body = session.creation_response() return Response(body, mimetype='application/json') else: abort(400, "Unknown Blaze server request %s" % q_req)
def html_array(arr, base_url, array_name, indexers): array_url = add_indexers_to_url(base_url + array_name, indexers) print(array_url) nav_html = indexers_navigation_html(base_url, array_name, indexers) datashape_html = render_datashape(array_url, arr.dshape) body = '<html><head><title>Blaze Array</title></head>\n' + \ '<body>\n' + \ 'Blaze Array > ' + nav_html + '\n<p />\n' + \ '<a href="' + array_url + '?r=data.json">JSON</a>\n<p />\n' + \ datashape_html + \ '\n</body></html>' return body
def html_array(arr, base_url, array_name, indexers): array_url = add_indexers_to_url(base_url + array_name, indexers) print(array_url) nav_html = indexers_navigation_html(base_url, array_name, indexers) datashape_html = render_datashape(array_url, arr.dshape) body = '<html><head><title>Blaze Array</title></head>\n' + \ '<body>\n' + \ 'Blaze Array > ' + nav_html + '\n<p />\n' + \ '<a href="' + array_url + '?r=data.json">JSON</a>\n<p />\n' + \ datashape_html + \ '\n</body></html>' return body