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")
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')
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))
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))
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))