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
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()
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()
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()})
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, )))
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})
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)
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()
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")