def get_apps(app_id): apps = product.get_apps() if app_id in apps.keys(): item = product.get_apps()[app_id] ensure_vote_stats_apps(item) return jsonify(item) abort(404)
def update_apps(app_id, rank): if not rank.isdigit(): abort(401) elif int(rank) > 5 or int(rank) < 1: abort(400) apps = product.get_apps() if app_id in apps.keys(): item = product.get_apps()[app_id] ensure_vote_stats_apps(item) item['votes_by_star'][int(rank)-1] += 1 new_rank = WeightedAverage(float(item['rating']), int(item['votes'])).add_value(int(rank)) item['rating'] = new_rank.rank item['votes'] = new_rank.count return jsonify(item) abort(404)
def apps_page(): apps_dict = product.get_apps() return render_template('snacks.html', pageType='apps', products=(OrderedDict(sorted(apps_dict.items(), key=lambda x: -x[1]['rating']))))
def fill_in_vote_stats_apps(): apps = product.get_apps() for item in apps.values(): ensure_vote_stats_apps(item) return jsonify(apps)