Ejemplo n.º 1
0
def result_elabs_nonfinal(request):
    """
    username (mnr) TAB elabID TAB challenge-title TAB challenge-ID TAB creation time TAB submission time TAB
    reviewID 1 TAB review-verdict 1 TAB review-creation-date 1 TAB review-submission-date 1 TAB reviewID 2 TAB
    review-verdict 2 TAB review-creation-date 2 TAB review-submission-date 2 TAB usw.
    """

    final_challenge_ids = Challenge.get_final_challenge_ids()
    elabs = Elaboration.objects.exclude(challenge__id__in=final_challenge_ids).prefetch_related()

    s = ""
    for elab in elabs:
        s += "\t".join(["{}"] * 6).format(
            str(elab.user.matriculation_number),
            str(elab.id),
            elab.challenge.title,
            str(elab.challenge.id),
            time_to_unix_string(elab.creation_time),
            time_to_unix_string(elab.submission_time)
        )

        for review in Review.objects.filter(elaboration=elab):
            s += "\t" + str(review.id)
            s += "\t" + str(review.appraisal)
            s += "\t" + time_to_unix_string(review.creation_time)
            s += "\t" + time_to_unix_string(review.submission_time)

        s += "\n"

    return HttpResponse(s, mimetype="text/plain; charset=utf-8")
Ejemplo n.º 2
0
    def handle_noargs(self, **options):
        """
        username (mnr) TAB elabID TAB challenge-title TAB challenge-ID TAB creation time TAB submission time TAB
        reviewID 1 TAB review-verdict 1 TAB review-creation-date 1 TAB review-submission-date 1 TAB reviewID 2 TAB
        review-verdict 2 TAB review-creation-date 2 TAB review-submission-date 2 TAB usw.
        """

        final_challenge_ids = Challenge.get_final_challenge_ids()
        elabs = Elaboration.objects.exclude(
            challenge__id__in=final_challenge_ids).prefetch_related()

        for elab in elabs:
            s = "\t".join(["{}"] * 6).format(
                elab.user.username + " (" +
                str(elab.user.matriculation_number) + ")", str(elab.id),
                elab.challenge.title, str(elab.challenge.id),
                str(elab.creation_time), str(elab.submission_time))

            for review in Review.objects.filter(elaboration=elab):
                s += "\t" + str(review.id)
                s += "\t" + str(review.appraisal)
                s += "\t" + str(review.creation_time)
                s += "\t" + str(review.submission_time)

            print(s)
    def handle_noargs(self, **options):
        """
        username (mnr) TAB elabID TAB challenge-title TAB challenge-ID TAB creation time TAB submission time TAB
        reviewID 1 TAB review-verdict 1 TAB review-creation-date 1 TAB review-submission-date 1 TAB reviewID 2 TAB
        review-verdict 2 TAB review-creation-date 2 TAB review-submission-date 2 TAB usw.
        """

        final_challenge_ids = Challenge.get_final_challenge_ids()
        elabs = Elaboration.objects.exclude(challenge__id__in=final_challenge_ids).prefetch_related()

        for elab in elabs:
            s = "\t".join(["{}"] * 6).format(
                elab.user.username + " (" + str(elab.user.matriculation_number) + ")",
                str(elab.id),
                elab.challenge.title,
                str(elab.challenge.id),
                str(elab.creation_time),
                str(elab.submission_time)
            )

            for review in Review.objects.filter(elaboration=elab):
                s += "\t" + str(review.id)
                s += "\t" + str(review.appraisal)
                s += "\t" + str(review.creation_time)
                s += "\t" + str(review.submission_time)

            print(s)
Ejemplo n.º 4
0
def students_with_at_least_one_submission(course):
    final_challenge_ids = Challenge.get_final_challenge_ids()
    elaborations = (Elaboration.objects.filter(
        challenge__course=course).filter(
            challenge__id__in=final_challenge_ids).filter(
                submission_time__isnull=False).values_list('user__id',
                                                           flat=True))
    elaborations = list(set(elaborations))  # make user ids distinct
    return len(elaborations)
Ejemplo n.º 5
0
def students_with_at_least_one_submission(course):
    final_challenge_ids = Challenge.get_final_challenge_ids()
    elaborations = (
        Elaboration.objects
            .filter(challenge__course=course)
            .filter(challenge__id__in=final_challenge_ids)
            .filter(submission_time__isnull=False)
            .values_list('user__id', flat=True)
    )
    elaborations = list(set(elaborations))  # make user ids distinct
    return len(elaborations)