def result1(request): df = d_frame if 'book1_type' in request.POST: bt = request.POST['book1_type'].upper() else: bt = "" if 'book1_type' in request.POST: bt2 = request.POST['book2_type'].upper() else: bt2 = "" if 'book3_type' in request.POST: bt3 = request.POST['book3_type'].upper() else: bt3 = "" if 'book4_type' in request.POST: bt4 = request.POST['book4_type'].upper() else: bt4 = "" if 'book5_type' in request.POST: bt5 = request.POST['book5_type'].upper() else: bt5 = "" if bt == "NONE" and bt2 == "NONE" and bt3 == "NONE" and bt4 == "NONE" and bt5 == "NONE": return render(request, 'pages/NameError.html') # ********************************************************* # books = df # books = books.loc[:, ["title", "writer", "genres", "page_num", "pub_year", "rating", "isbn", "image_url"]] # books = books.applymap(lambda s: s.upper() if type(s) == str else s) # book_types = [bt, bt2, bt3, bt4, bt5] # book = group(books, book_types) # ********************************************************* book_types_list = [bt, bt2, bt3, bt4, bt5] temp_book_types_list = [] for i in range(len(book_types_list)): if book_types_list[i] != "NONE": temp_book_types_list.append(book_types_list[i]) type_int_list = convert_gen.convert_genres(temp_book_types_list) book = [] b_list = [] i = 0 while i in range(len(type_int_list)): one_book = knn_logic.ml_logic(df, type_int_list[i]) if one_book.isbn not in b_list: book.append(one_book) b_list.append(one_book.isbn) else: if i != 0: i -= 1 i += 1 return render(request, 'pages/result.html', {'books': book})
def result2(request): df = d_frame # books = df # books = books.loc[:, ["title", "writer", "isbn", "page_num", "pub_year", "rating", "image_url", "genres"]] # books = books.applymap(lambda s: s.upper() if type(s) == str else s) if request.method == 'POST': selected_types = request.POST.getlist('ckb') if len(selected_types) < 3: return render(request, 'pages/selected_book_error.html') else: bt = selected_types[0].upper() bt2 = selected_types[1].upper() bt3 = selected_types[2].upper() # book_list = [] # temp = group2(books, bt) # for i in range(len(temp)): # book_list.append(temp[i]) # # temp = group2(books, bt2) # for i in range(len(temp)): # book_list.append(temp[i]) # # temp = group2(books, bt3) # for i in range(len(temp)): # book_list.append(temp[i]) temp_book_types_list = [bt, bt2, bt3] type_int_list = convert_gen.convert_genres(temp_book_types_list) b_list = [] book_list = [] for ind in range(3): i = 0 while i in range(4): one_book = knn_logic.ml_logic(df, type_int_list[ind]) if one_book.isbn not in b_list: book_list.append(one_book) b_list.append(one_book.isbn) else: if i != 0: i -= 1 i += 1 return render(request, 'pages/result.html', {'books': book_list})
def test_a9(self): self.assertAlmostEqual( knn_logic.ml_logic(d_frame, 9).genres, "HISTORY")
def test_a10(self): self.assertAlmostEqual( knn_logic.ml_logic(d_frame, 10).genres, "ADVENTURE")
def test_a7(self): self.assertAlmostEqual( knn_logic.ml_logic(d_frame, 7).genres, "SCIENCE")
def test_a8(self): self.assertAlmostEqual(knn_logic.ml_logic(d_frame, 8).genres, "HORROR")
def test_a5(self): self.assertAlmostEqual(knn_logic.ml_logic(d_frame, 5).genres, "TRAVEL")
def test_a6(self): self.assertAlmostEqual(knn_logic.ml_logic(d_frame, 6).genres, "CRIME")
def test_a4(self): self.assertAlmostEqual( knn_logic.ml_logic(d_frame, 4).genres, "YOUNG ADULT")
def test_a3(self): self.assertAlmostEqual( knn_logic.ml_logic(d_frame, 3).genres, "BIOGRAPHY")
def test_a2(self): self.assertAlmostEqual( knn_logic.ml_logic(d_frame, 2).genres, "PHILOSOPHY")
def test_a1(self): self.assertAlmostEqual( knn_logic.ml_logic(d_frame, 1).genres, "CLASSIC")
def test_a(self): self.assertAlmostEqual( knn_logic.ml_logic(d_frame, 0).genres, "SCIENCE FICTION")