Example #1
0
def rater_csv(request, rater_id=None, data_type=None):
    "Provide an individual rater's performance data in CSV format."
    rater_id = int(rater_id)
    if data_type not in ["kanji", "word"]:
        raise Http404

    rater = User.objects.get(id=rater_id)
    word_chart, kanji_chart = study_list.get_performance_charts(rater)
    name = "rater_%d_%s" % (rater_id, data_type)
    if data_type == "kanji":
        return _chart_csv_response(kanji_chart, name, data_set_name="charted")

    assert data_type == "word"
    return _chart_csv_response(word_chart, name, data_set_name="charted")
Example #2
0
def rater_csv(request, rater_id=None, data_type=None):
    "Provide an individual rater's performance data in CSV format."
    rater_id = int(rater_id)
    if data_type not in ['kanji', 'word']:
        raise Http404

    rater = User.objects.get(id=rater_id)
    word_chart, kanji_chart = study_list.get_performance_charts(rater)
    name = 'rater_%d_%s' % (rater_id, data_type)
    if data_type == 'kanji':
        return _chart_csv_response(kanji_chart, name, data_set_name='charted')

    assert data_type == 'word'
    return _chart_csv_response(word_chart, name, data_set_name='charted')
Example #3
0
def rater_detail(request, rater_id=None):
    context = {"use_nav": True}
    rater = User.objects.get(id=rater_id)
    context["rater"] = rater
    word_chart, kanji_chart = study_list.get_performance_charts(rater)
    word_chart.set_size("350x250")
    kanji_chart.set_size("350x250")
    context["word_chart"] = word_chart
    context["first_test"] = rater.testset_set.order_by("start_time")[0].start_time
    context["last_test"] = rater.testset_set.exclude(end_time=None).order_by("-start_time")[0].end_time
    context["time_tested"] = context["last_test"] - context["first_test"]
    context["kanji_chart"] = kanji_chart
    context["stats"] = stats.get_rater_stats(rater)
    context["word_ratio"] = word_chart.get_data()[1][-1] / float(word_chart.get_data()[0][-1])
    context["kanji_ratio"] = kanji_chart.get_data()[1][-1] / float(kanji_chart.get_data()[0][-1])
    return render_to_response("analysis/rater_detail.html", context, RequestContext(request))
Example #4
0
def dashboard(request):
    """Render the dashboard interface."""    
    context = {}
    charts = study_list.get_performance_charts(request.user)
    if charts:
        context['has_results'] = True
        context['stats'] = stats.get_stats(request.user)
        word_chart, kanji_chart = charts
        word_chart.set_size('260x200')
        kanji_chart.set_size('260x200')
        context['word_chart'] = word_chart
        context['kanji_chart'] = kanji_chart
    else:
        context['has_results'] = False
    return render_to_response('tutor/dashboard.html', context,
            context_instance=RequestContext(request))
Example #5
0
def rater_detail(request, rater_id=None):
    context = {'use_nav': True}
    rater = User.objects.get(id=rater_id)
    context['rater'] = rater
    word_chart, kanji_chart = study_list.get_performance_charts(rater)
    word_chart.set_size('350x250')
    kanji_chart.set_size('350x250')
    context['word_chart'] = word_chart
    context['first_test'] = rater.testset_set.order_by(
        'start_time')[0].start_time
    context['last_test'] = rater.testset_set.exclude(
        end_time=None).order_by('-start_time')[0].end_time
    context['time_tested'] = context['last_test'] - context['first_test']
    context['kanji_chart'] = kanji_chart
    context['stats'] = stats.get_rater_stats(rater)
    context['word_ratio'] = word_chart.get_data()[1][-1] / \
            float(word_chart.get_data()[0][-1])
    context['kanji_ratio'] = kanji_chart.get_data()[1][-1] / \
            float(kanji_chart.get_data()[0][-1])
    return render_to_response('analysis/rater_detail.html', context,
                              RequestContext(request))