def search(request): data = {"filter_form": AdvancedFilterForm()} if request.method == "POST": query = request.POST.copy() else: query = request.GET.copy() result = HistoneSearch(query, navbar="search" in query.keys()) data["original_query"] = query if len(result.errors) == 0: data["result"] = True else: data["filter_errors"] = result.errors if result.redirect: return result.redirect green = Color("#66c2a5") red = Color("#fc8d62") data["colors"] = map(str, red.range_to(green, 12)) data["score_min"], data["score_max"] = result.get_score_range() return render(request, 'search.html', data)
def get_sunburst_json(request, parameters=None): """ """ if parameters and isinstance(parameters, dict): query = parameters elif request.method == "POST": query = request.POST.copy() else: query = request.GET.copy() if query: result = HistoneSearch(query) sunburst = result.get_sunburst() return JsonResponse(sunburst, safe=False) else: raise Http404("No taxonomy distribution sunburst for query")
def search(request): data = {"filter_form": AdvancedFilterForm()} if request.method == "POST": query = request.POST.copy() result = HistoneSearch( request, query, navbar="search" in request.POST) if request.POST.get("reset", True): request.session["original_query"] = query data["original_query"] = request.session.get("original_query", query) data["current_query"] = query if len(result.errors) == 0: data["result"] = True else: data["filter_errors"] = result.errors else: #Show all sequence result = HistoneSearch.all(request) data["current_query"] = data["original_query"] = {} data["result"] = True if result.redirect: return result.redirect return render(request, 'search.html', data)
def get_sequence_table_data(request): """Downloads the previous search and converts into json required by Bootstrap table """ if request.method == "GET": parameters = request.GET.dict() else: #Returning 'false' stops Bootstrap table parameters = [] #Continues to filter previous search, unless paramters contains key 'reset' results = HistoneSearch(request, parameters) if len(results.errors) > 0: #Returning 'false' stops Bootstrap table return "false" unique = "id_unique" in parameters return JsonResponse(results.get_dict(unique=unique))
def get_sequence_table_data(request): """Downloads the previous search and converts into json required by Bootstrap table """ if request.method == "GET": parameters = request.GET.dict() else: assert 0, request.method #Returning 'false' stops Bootstrap table parameters = [] results = HistoneSearch(parameters) if len(results.errors) > 0: #Returning 'false' stops Bootstrap table return "false" result = results.get_dict() result["parameters"] = results.parameters result["method"] = request.method return JsonResponse(result)