コード例 #1
0
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)
コード例 #2
0
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)
コード例 #3
0
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)
コード例 #4
0
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)
コード例 #5
0
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)
コード例 #6
0
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)