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 get_session_array(self, array_name = None): if array_name is None: array_name = self.array_name array_root, indexers = split_array_base(array_name) arr = self.array_provider(array_root) if arr is None: raise Exception('No Blaze Array named ' + array_root) for i in indexers: if type(i) in [slice, int, tuple]: arr = arr[i] else: arr = getattr(arr, i) return arr
def get_session_array(self, array_name=None): if array_name is None: array_name = self.array_name array_root, indexers = split_array_base(array_name) arr = self.array_provider(array_root) if arr is None: raise Exception('No Blaze Array named ' + array_root) for i in indexers: if type(i) in [slice, int, tuple]: arr = arr[i] else: arr = getattr(arr, i) return arr