Example #1
0
def yelp():
    search_params = make_param_tuple(request.args.get('thr'), request.args.get('order_by'),
                                     request.args.get('num_results'), request.args.get('page'),
                                     request.args.get('start_date'), request.args.get('end_date'),
                                     100)

    yelp_reviews = get_yelp_sick_reviews(echo=False, search_params=search_params)
    ## Render template
    return render_template('review_table.html', reviewtype="Yelp", reviews=yelp_reviews,
                            get_review_file=get_review_file, searchtype="yelp", 
                            searchparams=search_params)
Example #2
0
def get_sick_business_dict(search_params):
	# Get all reviews with default settings -- 0.5 threshold, no limit
	yelp_reviews = get_yelp_sick_reviews(echo=False, search_params=search_params)
	# tweets = get_twitter_sick_reviews(echo=False, search_params=DEFAULT_SEARCH_PARAMS)

	# Now iterate through yelp reviews and add to dict of reviews indexed by business id
	business_reviews = {}
	for review in yelp_reviews:
		## If Business in dict
		if (review.business.id in business_reviews):
			business_reviews[review.business.id].append(review)
		## IF business not in dict
		else:
			business_reviews[review.business.id] = [review]

	# Tweets do not yet have support for businesses in db, so until then we can't use this
	# for review in tweets:
	# 	## Business in dict already
	# 	if (review.business.id in business_reviews):
	# 		business_reviews[review.business.id].append(review)
	# 	## Business not in dict
	# 	else:
	# 		business_reviews[review.business.id] = [review]


	## convert to list of tuples so that businesses can be sorted by
	## number of reviews
	business_tuples = []
	for business in business_reviews:
		avg_score  = 0
		for review in business_reviews[business]:
			avg_score += float(review.score)
		avg_score = (1.0 * avg_score) / len(business_reviews[business])

		##tuple format: (businessid, reviews_list, num_reviews, avg score)
		business_tuples.append((business_reviews[business][0].business,
								business_reviews[business],
								len(business_reviews[business]),
								avg_score))

	# Sort businesses by number of reviews
	business_tuples.sort(key=lambda t: t[2], reverse=True)
	return business_tuples