def chart(request: HttpRequest, chart_type: str, format: str) -> HttpResponse: if TrendChartFactory.is_supported_chart(chart_type): try: chart = TrendChartFactory.plot_chart(chart_type) except NoDataException: return HttpResponse(status=204) else: raise Http404('Unknown chart type %s.' % chart_type) return render_chart(chart, format)
def chart(request: HttpRequest, chart_type: str) -> HttpResponse: recipes_scope = get_scope(request) if AnalyzeChartFactory.is_supported_chart(chart_type): try: chart = AnalyzeChartFactory.plot_chart(chart_type, recipes_scope) except NoDataException: return HttpResponse(status=204) else: raise Http404('Unknown chart type %s.' % chart_type) return render_chart(chart, FORMAT_JSON)
def display_chart(request: HttpRequest, style: Style, chart_type: str, format: str) -> HttpResponse: filter_param = str(request.GET['filter']) if 'filter' in request.GET else None if StyleChartFactory.is_supported_chart(chart_type): try: chart = StyleChartFactory.plot_chart(style, chart_type, filter_param) except NoDataException: return HttpResponse(status=204) else: raise Http404('Unknown chart type %s.' % chart_type) return render_chart(chart, format)
def chart(request: HttpRequest, slug: str, type_id: str, chart_type: str, format: str) -> HttpResponse: yeast = get_object_or_404(Yeast, pk=slug) if yeast.recipes_count <= 0: raise Http404("Yeast doesn't have any data.") if type_id != yeast.type: return redirect('yeast_chart', type_id=yeast.type, slug=yeast.id, chart_type=chart_type, format=format) if YeastChartFactory.is_supported_chart(chart_type): try: chart = YeastChartFactory.plot_chart(yeast, chart_type) except NoDataException: return HttpResponse(status=204) else: raise Http404('Unknown chart type %s.' % chart_type) return render_chart(chart, format)
def chart(request: HttpRequest, slug: str, category_id: str, chart_type: str, format: str) -> HttpResponse: fermentable = get_object_or_404(Fermentable, pk=slug) if fermentable.recipes_count <= 0: raise Http404("Fermentable doesn't have any data.") if category_id != fermentable.category: return redirect('fermentable_chart', category_id=fermentable.category, slug=fermentable.id, chart_type=chart_type, format=format) if FermentableChartFactory.is_supported_chart(chart_type): try: chart = FermentableChartFactory.plot_chart(fermentable, chart_type) except NoDataException: return HttpResponse(status=204) else: raise Http404('Unknown chart type %s.' % chart_type) return render_chart(chart, format)
def chart(request: HttpRequest, slug: str, category_id: str, chart_type: str, format: str) -> HttpResponse: hop = get_object_or_404(Hop, pk=slug) if hop.recipes_count <= 0: raise Http404("Hop doesn't have any data.") if category_id != hop.category: return redirect('hop_chart', category_id=hop.category, slug=hop.id, chart_type=chart_type, format=format) if HopChartFactory.is_supported_chart(chart_type): try: chart = HopChartFactory.plot_chart(hop, chart_type) except NoDataException: return HttpResponse(status=204) else: raise Http404('Unknown chart type %s.' % chart_type) return render_chart(chart, format)