Exemplo n.º 1
0
def marked_by_accuracy(request):
    char = request.POST.get('char', None)
    if char is None:
        return JsonResponse({'status': 'error', 'msg': 'no char'})
    l_value = int(request.POST.get('min_value'))
    r_value = int(request.POST.get('max_value'))
    if ((r_value <= 0) or (l_value == r_value)):
        _mark_based_scope(l_value, char)
    elif (l_value > r_value):
        count = 0
    else:
        if (r_value > 500):
            updateNum = Character.objects.filter(
                char=char,
                is_correct=0,
                accuracy__gte=l_value,
                accuracy__lte=r_value).update(is_correct=1)
        else:
            updateNum = Character.objects.filter(
                char=char,
                is_correct=0,
                accuracy__gte=l_value,
                accuracy__lte=r_value).update(is_correct=-1)
    Character.update_statistics(char)
    return JsonResponse({'status': 'ok'})
Exemplo n.º 2
0
 def filter_mark_by_recog(self, request):
     checked_chars = Character.objects.filter(id__in=request.data["checked_ids"])
     unchecked_chars = Character.objects.filter(id__in=request.data["unchecked_ids"])
     result_type = request.data["type"]
     if result_type == 0:
         for char in checked_chars:
             char.is_correct = 1
             char.save()
         for char in unchecked_chars:
             char.is_same = -2
             char.save()
     elif result_type == 1:
         for char in checked_chars:
             char.is_correct = -1
             char.save()
         for char in unchecked_chars:
             char.is_same = 2
             char.save()
     elif result_type == 2:
         for char in checked_chars:
             char.is_correct = 1
             char.save()
         for char in unchecked_chars:
             char.is_correct = -1
             char.is_same = 2
             char.save()
     Character.update_statistics(request.data["char"])
     return Response({"status": "ok"})
Exemplo n.º 3
0
 def filter_mark_by_recog(self, request):
     checked_chars = Character.objects.filter(
         id__in=request.data['checked_ids'])
     unchecked_chars = Character.objects.filter(
         id__in=request.data['unchecked_ids'])
     result_type = request.data['type']
     if (result_type == 0):
         for char in checked_chars:
             char.is_correct = 1
             char.save()
         for char in unchecked_chars:
             char.is_same = -2
             char.save()
     elif (result_type == 1):
         for char in checked_chars:
             char.is_correct = -1
             char.save()
         for char in unchecked_chars:
             char.is_same = 2
             char.save()
     elif (result_type == 2):
         for char in checked_chars:
             char.is_correct = 1
             char.save()
         for char in unchecked_chars:
             char.is_correct = -1
             char.is_same = 2
             char.save()
     Character.update_statistics(request.data['char'])
     return Response({'status': 'ok'})
Exemplo n.º 4
0
 def filter_mark_by_recog(self, request):
     checked_chars = Character.objects.filter(id__in=request.data['checked_ids'])
     unchecked_chars = Character.objects.filter(id__in=request.data['unchecked_ids'])
     result_type = request.data['type']
     if (result_type == 0):
         for char in checked_chars:
             char.is_correct = 1
             char.save()
         for char in unchecked_chars:
             char.is_same = -2
             char.save()
     elif (result_type == 1):
         for char in checked_chars:
             char.is_correct = -1
             char.save()
         for char in unchecked_chars:
             char.is_same = 2
             char.save()
     elif (result_type == 2):
         for char in checked_chars:
             char.is_correct = 1
             char.save()
         for char in unchecked_chars:
             char.is_correct = -1
             char.is_same = 2
             char.save()
     Character.update_statistics(request.data['char'])
     return Response({'status': 'ok'})
Exemplo n.º 5
0
def _mark_based_scope(l_value, char):
    if l_value > 500:
        updateNum = Character.objects.filter(
            char=char, is_correct=0, accuracy=l_value).update(is_correct=1)
    else:
        updateNum = Character.objects.filter(
            char=char, is_correct=0, accuracy=l_value).update(is_correct=-1)
    Character.update_statistics(char)
Exemplo n.º 6
0
def set_correct(request):
    if 'id' in request.POST:
        char_id = request.POST['id']
        is_correct = int(request.POST['is_correct'])
        char = request.POST['char']
        char.encode('utf-8')
        query_set = Character.objects.filter(id=char_id)
        query_set.update(is_correct=is_correct)
        Character.update_statistics(char)
        record = CharMarkRecord.create(request.user, char_id, is_correct,
                                       timezone.now())
        record.save()
        data = {'status': 'ok'}
    elif (('e_charArr[]' in request.POST)
          or ('c_charArr[]' in request.POST)):  # uncheck -> check
        check_char_number = request.session.get('check_char_number', 0)
        request.session['check_char_number'] = check_char_number + 1
        charArr = request.POST.getlist('e_charArr[]')
        char = request.POST['char']
        time = timezone.now()
        records = []
        if charArr:
            query_set = Character.objects.filter(id__in=charArr)
            query_set.update(is_correct=-1)
            Character.update_statistics(char)
            for char_id in charArr:
                record = CharMarkRecord.create(request.user, char_id, -1, time)
                records.append(record)
            CharMarkRecord.objects.bulk_create(records)

        charArr = request.POST.getlist('c_charArr[]')
        if charArr:
            query_set = Character.objects.filter(id__in=charArr)
            query_set.update(is_correct=1)
            Character.update_statistics(char)
            for char_id in charArr:
                record = CharMarkRecord.create(request.user, char_id, 1, time)
                records.append(record)
            CharMarkRecord.objects.bulk_create(records)

        data = {'status': 'ok'}
    elif ('cl_charArr[]' in request.POST):
        c_num = int(request.POST['c_num'])
        e_num = int(request.POST['e_num'])
        unset_num = e_num + c_num
        char = request.POST['char']
        charArr = request.POST.getlist('cl_charArr[]')
        Character.objects.filter(id__in=charArr).update(is_correct=0)
        Character.update_statistics(char)
        time = timezone.now()
        records = []
        for char_id in charArr:
            record = CharMarkRecord.create(request.user, char_id, 0, time)
            records.append(record)
        if charArr:
            CharMarkRecord.objects.bulk_create(records)
        data = {'status': 'ok', 'clear': 'ok'}
    else:
        data = {'status': 'error'}
    return JsonResponse(data)
Exemplo n.º 7
0
def set_correct(request):
    if 'id' in request.POST:
        char_id = request.POST['id']
        is_correct = int(request.POST['is_correct'])
        char = request.POST['char']
        char.encode('utf-8')
        query_set = Character.objects.filter(id=char_id)
        query_set.update(is_correct=is_correct)
        Character.update_statistics(char)
        record = CharMarkRecord.create(request.user, char_id, is_correct, timezone.now())
        record.save()
        data = {'status': 'ok'}
    elif (('e_charArr[]' in request.POST) or ('c_charArr[]' in request.POST)): # uncheck -> check
        check_char_number = request.session.get('check_char_number', 0)
        request.session['check_char_number'] = check_char_number+1
        charArr = request.POST.getlist('e_charArr[]')
        char = request.POST['char']
        time = timezone.now()
        records = []
        if charArr:
            query_set = Character.objects.filter(id__in =charArr)
            query_set.update(is_correct=-1)
            Character.update_statistics(char)
            for char_id in charArr:
                record = CharMarkRecord.create(request.user, char_id, -1, time)
                records.append(record)
            CharMarkRecord.objects.bulk_create(records)

        charArr = request.POST.getlist('c_charArr[]')
        if charArr:
            query_set = Character.objects.filter(id__in =charArr)
            query_set.update(is_correct=1)
            Character.update_statistics(char)
            for char_id in charArr:
                record = CharMarkRecord.create(request.user, char_id, 1, time)
                records.append(record)
            CharMarkRecord.objects.bulk_create(records)

        data = {'status': 'ok'}
    elif ('cl_charArr[]' in request.POST):
        c_num = int(request.POST['c_num'])
        e_num = int(request.POST['e_num'])
        unset_num = e_num + c_num;
        char = request.POST['char']
        charArr = request.POST.getlist('cl_charArr[]')
        Character.objects.filter(id__in =charArr).update(is_correct=0)
        Character.update_statistics(char)
        time = timezone.now()
        records = []
        for char_id in charArr:
            record = CharMarkRecord.create(request.user, char_id, 0, time)
            records.append(record)
        if charArr:
            CharMarkRecord.objects.bulk_create(records)
        data = {'status': 'ok', 'clear': 'ok'}
    else:
        data = {'status': 'error'}
    return JsonResponse(data)
Exemplo n.º 8
0
def marked_by_accuracy(request):
    char = request.POST.get('char', None)
    if char is None:
        return JsonResponse({'status': 'error', 'msg': 'no char'})
    l_value = int(request.POST.get('min_value'))
    r_value = int(request.POST.get('max_value'))
    if ((r_value <= 0) or (l_value == r_value)):
        _mark_based_scope(l_value, char)
    elif (l_value > r_value):
        count = 0
    else:
        if (r_value > 500):
            updateNum = Character.objects.filter(char=char, is_correct=0, accuracy__gte=l_value, accuracy__lte=r_value).update(is_correct=1)
        else:
            updateNum = Character.objects.filter(char=char, is_correct=0, accuracy__gte=l_value, accuracy__lte=r_value).update(is_correct=-1)
    Character.update_statistics(char)
    return JsonResponse({'status': 'ok'})
Exemplo n.º 9
0
def _mark_based_scope(l_value, char):
    if l_value > 500:
        updateNum = Character.objects.filter(char=char, is_correct=0, accuracy=l_value).update(is_correct=1)
    else:
        updateNum = Character.objects.filter(char=char, is_correct=0, accuracy=l_value).update(is_correct=-1)
    Character.update_statistics(char)