def recommendation(): ''' Return the use case 2 (house recommendation) page It will get the user input from webpage and then process and pass the input to datahandle package ''' if request.method == 'POST': zipcode = request.form.get('zipcode') nights = request.form.get('nights') price = request.form.get('price') accommodates = request.form.get('accommodates') room_type = request.form.get('room_type') score = request.form.get('score') is_verified_host = request.form.get('verified_host') is_need_license = request.form.get('need_license') results_limit = request.form.get('results_limit') nights = None if nights == "" else int(nights) price = None if price == "" else "$" + price accommodates = None if accommodates == "" else int(accommodates) room_type = None if room_type == "" else room_type score = None if score == "" else int(score) is_verified_host = True if is_verified_host == "True" else None is_need_license = True if is_need_license == "True" else None results_limit = None if results_limit == "" else int(results_limit) df_table = dh.primary_recommend_search(zipcode, accommodates, price, score, None,\ is_verified_host, room_type, None, None, None, None, nights, None, None, \ is_need_license, results_limit) if df_table.empty: return render_template('not_found.html') points_list = get_marker_points(df_table) return render_template('recommendation.html', points_list = points_list,\ house_list = df_table) return render_template('index.html')
def test_primary_search_super_host(self): df = dh.primary_recommend_search("98105", None, None, \ None, True, None, None, None, None, None, None, None, None, \ None, None, 10) for index, row in df.iterrows(): self.assertTrue(row['host_is_superhost'])
def test_primary_search_rating(self): df = dh.primary_recommend_search("98105", None, None, \ 80, None, None, None, None, None, None, None, None, None, \ None, None, 10) for index, row in df.iterrows(): self.assertGreaterEqual(row['review_scores_rating'], 80)
def test_primary_search_price(self): df = dh.primary_recommend_search("98105", None, "$100", \ None, None, None, None, None, None, None, None, None, None, \ None, None, 10) for index, row in df.iterrows(): self.assertLessEqual(row['price'], "$100")
def test_primary_search_accommodates(self): df = dh.primary_recommend_search("98105", 2, None, \ None, None, None, None, None, None, None, None, None, None, \ None, None, 10) for index, row in df.iterrows(): self.assertGreaterEqual(row['accommodates'], 2)
def test_primary_search_zipcode(self): df = dh.primary_recommend_search("98105", None, None, \ None, None, None, None, None, None, None, None, None, None, \ None, None, 10) for index, row in df.iterrows(): self.assertEqual(row['zipcode'], "98105")
def test_primary_search_limit(self): self.assertEqual(len(dh.primary_recommend_search("98105", None, None, \ None, None, None, None, None, None, None, None, None, None, \ None, None, 10)), 10)