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')
Exemple #2
0
 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'])
Exemple #3
0
 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)
Exemple #4
0
 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")
Exemple #5
0
 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)
Exemple #6
0
 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")
Exemple #7
0
 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)