Exemplo n.º 1
0
def generate_nmf_test(numFactors, density):
    allUsers = User.objects.all()
    allBusinsses = Business.objects.all()
    random.seed(666)
    newP = []
    for u in range(0, allUsers.count()):
        if u not in newP:
            newP.append([])
        for k in range(0, numFactors):
            rif = random.uniform(0, 1)
            newP[u].append(rif)

    newQ = []
    for k in range(0, numFactors):
        newQ.append([])
        for j in range(0, allBusinsses.count()):
            rif = random.uniform(0, 1)
            newQ[k].append(rif)

    initR = dot(newP, newQ)

    i = 0
    for u in allUsers:
        j = 0
        for b in allBusinsses:
            chance = random.uniform(0, 1)
            if(chance < density):
                rat = Rating(business=b, username=u, rating=float(initR[i][j]))
                rat.save()
            j = j + 1
    i = i + 1
Exemplo n.º 2
0
def add_bus_rating(request):
    if request.method == "POST":
        try:
            business = Business.objects.get(id=request.POST["bid"])
        except Business.DoesNotExist:
            print("bus does not exist!")
            return HttpResponse("{'success': 'false'}")

        rat = request.POST["rating"]
        try:
            rating = Rating.objects.get(business=business, user=request.user)
        except Rating.DoesNotExist:
            logger.debug("In vote create a new rating!")
            rating = Rating(business=business, user=request.user, rating=rat)
        else:
            Rating.objects.filter(business=business, user=request.user).delete()
            rating = Rating(business=business, user=request.user, rating=rat)

        rating.save()
        response_data = dict()
        response_data["bid"] = str(request.POST["bid"])
        response_data["success"] = "true"
        response_data["rating"] = rat
        context = {}
        business.rating = rating.rating
        context["business"] = get_single_bus_data(business, request.user)
        return render_to_response("ratings/listing/rate_data.html", context)
        # return HttpResponse("{'success':'true', 'rating': '" + str(rat) + "'}")
    else:
        raise Http404("What are you doing here?")
def import_ratings(apps, schema_editor):
    with open('ratings/data/ratings.csv', encoding='latin-1') as f:
        ratings = csv.reader(f, delimiter="\t")
        for row in ratings:
            rater = Rater.objects.get(id=row[0])
            movie = Movie.objects.get(id=row[1])
            rating = Rating(rater=rater, movie=movie, score=row[2])
            rating.save()
Exemplo n.º 4
0
def rateItemInDb(item, user, value):
  # logger.debug("Adding rating: item [%s], user [%s], value [%s]" % (item, user, value))
  try:
    rating = Rating.objects.get(user=user, item=item)
    rating.value = value
  except (Rating.DoesNotExist):
    rating = Rating(user=user, item=item, value=value)

  rating.save()
def get_rating(apps, schema_editor):
    rating = apps.get_model("ratings", "Rating")
    with open('../ml-100k/u.data', 'r') as f:
        data = csv.reader(f, delimiter='\t')
        for row in data:
            rater = Rater.objects.get(id=row[0])
            movie = Movie.objects.get(id=row[1])

            rating = Rating(rater=rater, movie=movie, rating=row[2])
            rating.save()
Exemplo n.º 6
0
def add(request):
    if request.method == "POST":
        form = NewProfForm(request.POST)
        if form.is_valid():
            prof = form.cleaned_data
            name = prof["name"]
            marks = prof["marks"]
            obj = Rating(professor=name, rating=marks)
            obj.save()
            print("redirecting...")
            return redirect("rating")
        else:
            return render(request, "rating/add.html"), {"form": form}
    return render(request, "ratings/add.html", {"form": NewProfForm()})
Exemplo n.º 7
0
def rateItem(request, item_id):
	item = get_object_or_404(Item, pk=item_id)
	value = request.POST['value']
	user = request.user

	# Update the rating if it exists, otherwise create it
	try:
		rating = Rating.objects.get( user=user, item=item )
		rating.value = value
	except (Rating.DoesNotExist):
		rating = Rating( user=user, item=item, value=value )

	rating.save()

	return HttpResponseRedirect(reverse('ratings:viewItem', args=(item.id, )))
Exemplo n.º 8
0
def avaliarSubmit(request, idAvalia):
    url = request.META.get('HTTP_REFERER')
    user = request.user
    try:
        historico = HistoricoAlugados.objects.get(id=idAvalia)
    except ObjectDoesNotExist:
        return render(request, 'home/termosdeuso.html')

    usuario = ''
    locadorUser = ''
    locatarioUser = ''
    if user == historico.locador:
        historico.avaliadoPeloLocador = True
        historico.save()
        usuario = historico.locatario
    if user == historico.locatario:
        historico.avaliadoPeloLocatario = True
        historico.save()
        usuario = historico.locador

    if request.method == 'POST':
        form = RatingForm(request.POST)
        if form.is_valid():            
            data = Rating()             
            data.de = user
            data.para = usuario
            data.text = form.cleaned_data['text']
            data.rate = form.cleaned_data['rate']
            data.save()           
            messages.info(request, 'Agradecemos a sua avaliação!')

    user = request.user
    avaliacoes = HistoricoAlugados.objects.filter(Q(locador=user) | Q(locatario=user) & Q(encerrado=True))
    arrayPendentes = []
    for avaliacao in avaliacoes:
        if user == avaliacao.locador:

            if avaliacao.avaliadoPeloLocador == False:
                arrayPendentes.append(avaliacao)
        if user == avaliacao.locatario:

            if avaliacao.avaliadoPeloLocatario == False:
                arrayPendentes.append(avaliacao)

    return render(request, 'user/avaliacoesPendentes.html', {'avaliacoes': arrayPendentes})
Exemplo n.º 9
0
from ratings.models import Rating
from ratings.serializers import RatingSerializer
from rest_framework.renderers import JSONRenderer
from rest_framework.parsers import JSONParser

rating = Rating(route_id=1,
                user_id=1,
                car_rating=4,
                driver_rating=3,
                average_rating=3.5,
                comment='I liked the travel')
rating.save()

rating = Rating(route_id=1,
                user_id=2,
                car_rating=5,
                driver_rating=3,
                average_rating=4,
                comment='The driver was awesome! I wanna marry him')
rating.save()

serializer = RatingSerializer(rating)
serializer.data

content = JSONRenderer().render(serializer.data)
content

from django.utils.six import BytesIO

stream = BytesIO(content)
data = JSONParser().parse(stream)
Exemplo n.º 10
0
f = open('/Users/dimitriosalikaniotis/Sites/llc/llc_site/llc/utils/ratings.txt')

for line in f:
    r = Rating()
    try:
        pid = line.strip().split('\t')[0]
        r.paper = Paper.objects.get(pk=pid)
    except:
        pass
    try:
        rid = line.strip().split('\t')[1]
        if rid != "None":
            r.rater = Participant.objects.get(pk=rid)
    except:
        pass
    try:
        r.score = float(line.strip().split('\t')[2])
    except:
        pass
    try:
        b = line.strip().split('\t')[3]
        if b == "True":
            r.before = True
        else:
            r.before = False
    except:
        pass
    r.save()
    
f.close()
Exemplo n.º 11
0
def signup(request):
    sign_up_page = request.COOKIES.get(SIGN_UP_PAGE, SIGN_UP_PAGE_FIRST)
    sign_up_get_form = SignUpForm1() if sign_up_page == SIGN_UP_PAGE_FIRST \
        else SignUpForm2() if sign_up_page == SIGN_UP_PAGE_SECOND \
        else SignUpForm3() if sign_up_page == SIGN_UP_PAGE_THIRD \
        else SignUpForm4()

    if request.method == GET:
        sign_up_stage_page = ugettext_lazy("Регистрация - этап {}")
        sign_up_stage_page = sign_up_stage_page.format(sign_up_page)
        submit_value = ugettext_lazy("Далее")
        has_error, error = request.COOKIES.get(SIGN_UP_COOKIE_ERROR, IS_OK), NONE
        if sign_up_page == SIGN_UP_PAGE_SECOND:
            sign_up_get_form.fields[PHONE_NUMBER].initial = "+7"
            submit_value = ugettext_lazy("Получить код")
            if has_error == IS_NOT_OK:
                error = ugettext_lazy("Уже существует аккаунт с таким номером телефона или номер телефона некорректен")
        elif sign_up_page == SIGN_UP_PAGE_THIRD:
            sign_up_get_form.fields[PHONE_NUMBER].initial = request.COOKIES.get(SIGN_UP_COOKIE_PHONE_NUMBER)
            submit_value = ugettext_lazy("Подтвердить код")
            if has_error == IS_NOT_OK:
                error = ugettext_lazy("Введенный код не подтвержден")
        elif sign_up_page == SIGN_UP_PAGE_FOURTH:
            sign_up_get_form.fields[PHONE_NUMBER].initial = request.COOKIES.get(SIGN_UP_COOKIE_PHONE_NUMBER)
            sign_up_get_form.fields[CODE_FOR_PHONE_NUMBER].initial = request.COOKIES.get(SIGN_UP_COOKIE_PHONE_NUMBER_CODE)
            submit_value = ugettext_lazy("Создать аккаунт")
        context = {
            FORM: sign_up_get_form,
            STAGE: sign_up_stage_page,
            SUBMIT_VALUE: submit_value,
            ERROR: error
        }
        response = render(request, "sportsmen/signup.html", context=context)
        response.set_cookie(SIGN_UP_COOKIE_ERROR, IS_OK, max_age=SIGN_UP_PAGE_COOKIE_AGE)
        return response
    elif request.method == POST:
        sign_up_post_form = SignUpForm1(request.POST) if sign_up_page == SIGN_UP_PAGE_FIRST \
                        else SignUpForm2(request.POST) if sign_up_page == SIGN_UP_PAGE_SECOND \
                        else SignUpForm3(request.POST) if sign_up_page == SIGN_UP_PAGE_THIRD \
                        else SignUpForm4(request.POST)
        
        if sign_up_page == SIGN_UP_PAGE_FIRST:
            if sign_up_post_form.is_valid():
                response = redirect("signup")
                response.set_cookie(
                    SIGN_UP_PAGE,
                    SIGN_UP_PAGE_SECOND,
                    max_age=SIGN_UP_PAGE_COOKIE_AGE
                )
                response.set_cookie(
                    SIGN_UP_COOKIE_FIRST_NAME,
                    "|".join(str(ord(element)) for element in sign_up_post_form.cleaned_data[FIRST_NAME]),
                    max_age=SIGN_UP_PAGE_COOKIE_AGE
                )
                response.set_cookie(
                    SIGN_UP_COOKIE_LAST_NAME,
                    "|".join(str(ord(element)) for element in sign_up_post_form.cleaned_data[LAST_NAME]),
                    max_age=SIGN_UP_PAGE_COOKIE_AGE
                )
                response.set_cookie(
                    SIGN_UP_COOKIE_DAY,
                    sign_up_post_form.cleaned_data[DAY],
                    max_age=SIGN_UP_PAGE_COOKIE_AGE
                )
                response.set_cookie(
                    SIGN_UP_COOKIE_MONTH,
                    sign_up_post_form.cleaned_data[MONTH],
                    max_age=SIGN_UP_PAGE_COOKIE_AGE
                )
                response.set_cookie(
                    SIGN_UP_COOKIE_YEAR,
                    sign_up_post_form.cleaned_data[YEAR],
                    max_age=SIGN_UP_PAGE_COOKIE_AGE
                )
                response.set_cookie(
                    SIGN_UP_COOKIE_GENDER,
                    sign_up_post_form.cleaned_data[GENDER],
                    max_age=SIGN_UP_PAGE_COOKIE_AGE
                )
                return response
        elif sign_up_page == SIGN_UP_PAGE_SECOND:
            response = redirect("signup")

            is_valid, country_region, phone_number = True, request.POST.get(COUNTRY_REGION), request.POST.get(PHONE_NUMBER)
            if (country_region == "+380" and len(phone_number) < 18) or \
               (country_region == "+375" and len(phone_number) < 17) or \
               (country_region == "+77" and len(phone_number) < 16) or \
               (country_region == "+7" and len(phone_number) < 16):
                is_valid = False

            if sign_up_post_form.is_valid() and is_valid:
                try:
                    Sportsman.manager.get(phone_number=sign_up_post_form.cleaned_data[PHONE_NUMBER])
                    response.set_cookie(
                        SIGN_UP_COOKIE_ERROR,
                        IS_NOT_OK,
                        max_age=SIGN_UP_PAGE_COOKIE_AGE
                    )
                    return response
                except ObjectDoesNotExist:
                    response.set_cookie(
                        SIGN_UP_PAGE,
                        SIGN_UP_PAGE_THIRD,
                        max_age=SIGN_UP_PAGE_COOKIE_AGE
                    )
                    response.set_cookie(
                        SIGN_UP_COOKIE_PHONE_NUMBER,
                        sign_up_post_form.cleaned_data[PHONE_NUMBER],
                        max_age=SIGN_UP_PAGE_COOKIE_AGE
                    )

                    send_code_to_activate_phone_number.delay(sign_up_post_form.cleaned_data[PHONE_NUMBER])

                    return response
            response.set_cookie(
                SIGN_UP_COOKIE_ERROR,
                IS_NOT_OK,
                max_age=SIGN_UP_PAGE_COOKIE_AGE
            )
            return response

        elif sign_up_page == SIGN_UP_PAGE_THIRD:
            if sign_up_post_form.is_valid():
                code_for_phone_number = sign_up_post_form.cleaned_data[CODE_FOR_PHONE_NUMBER]
                phone_number = request.COOKIES.get(SIGN_UP_COOKIE_PHONE_NUMBER)
                phone_number_verified = send_code_to_verify_phone_number(phone_number, code_for_phone_number)
                response = redirect("signup")

                if phone_number_verified:
                    response.set_cookie(
                        SIGN_UP_PAGE,
                        SIGN_UP_PAGE_FOURTH,
                        max_age=SIGN_UP_PAGE_COOKIE_AGE
                    )
                    response.set_cookie(
                        SIGN_UP_COOKIE_PHONE_NUMBER_CODE,
                        code_for_phone_number,
                        max_age=SIGN_UP_PAGE_COOKIE_AGE
                    )
                else:
                    response.set_cookie(
                        SIGN_UP_COOKIE_ERROR,
                        IS_NOT_OK,
                        max_age=SIGN_UP_PAGE_COOKIE_AGE
                    )
                return response
        elif sign_up_page == SIGN_UP_PAGE_FOURTH:
            if sign_up_post_form.is_valid():
                first_name_cookie = request.COOKIES.get(SIGN_UP_COOKIE_FIRST_NAME).split("|")
                last_name_cookie = request.COOKIES.get(SIGN_UP_COOKIE_LAST_NAME).split("|")
                first_name_cookie = [int(element) for element in first_name_cookie if element]
                last_name_cookie = [int(element) for element in last_name_cookie if element]

                user = User()
                user.save()
                user.username = user.pk
                user.first_name = "".join(map(chr, first_name_cookie))
                user.last_name = "".join(map(chr, last_name_cookie))
                user.set_password(sign_up_post_form.cleaned_data[PASSWORD])
                user.save()
                sportsman = Sportsman()
                sportsman.phone_number = request.COOKIES.get(SIGN_UP_COOKIE_PHONE_NUMBER)
                sportsman.gender = request.COOKIES.get(SIGN_UP_COOKIE_GENDER)
                sportsman.birthday = datetime(
                    int(request.COOKIES.get(SIGN_UP_COOKIE_YEAR)),
                    int(request.COOKIES.get(SIGN_UP_COOKIE_MONTH)),
                    int(request.COOKIES.get(SIGN_UP_COOKIE_DAY))
                ).date()
                sportsman.avatar = "man.png" if request.COOKIES.get(SIGN_UP_COOKIE_GENDER) == "1" else "woman.png"
                sportsman.athlete = user
                sportsman.save()
                rating = Rating()
                rating.athlete = user
                rating.save()
                log_in(request, user)

                response = redirect("sportsmen-index")
                response.set_cookie(
                    SIGN_UP_PAGE,
                    SIGN_UP_PAGE_FIRST,
                    max_age=SIGN_UP_PAGE_COOKIE_AGE
                )
                return response
        return redirect("signup")