def get_metadata(request, tensor_name): tensor = get_or_error(DerivedTensorData, dict(name=tensor_name)) full_tensor = tensor.full_tensor full_sids_path = full_tensor.get_sids_path() sids = bytes_to_ndarray(full_sids_path, np.int32) metadata, headers = extract_tensor_metadata(sids, tensor.annotator) content = write_metadata(metadata, sids, headers) response = HttpResponse() response.write(content) response['Content-Type'] = 'text/tsv' response['Content-Length'] = len(content) return response
def get_ordination_metadata(request, ord_id, viewas): ord = get_or_error(Ordination, dict(id=ord_id)) sids_path = ord.get_sids_path() sids = bytes_to_ndarray(sids_path, np.int32) viewas = get_or_error(User, dict(username=viewas)) try: metadata, headers = extract_tensor_metadata(sids, viewas) except KeyError as e: err_message = 'Syllable #{} has been deleted from the database since the creation of this ordination and ' \ 'thus renders it invalid. Please choose another one.'.format(str(e)) raise CustomAssertionError(err_message) content = write_metadata(metadata, sids, headers) response = HttpResponse() response.write(content) response['Content-Type'] = 'text/tsv' response['Content-Length'] = len(content) return response