|
|
from flask import Flask,render_template,request |
|
|
import pickle |
|
|
|
|
|
app = Flask(__name__, template_folder='templates', static_folder='static', static_url_path='/') |
|
|
|
|
|
with open('model/homedf.pkl', 'rb') as file: |
|
|
homedf = pickle.load(file) |
|
|
with open('model/Maindf.pkl', 'rb') as file: |
|
|
Maindf = pickle.load(file) |
|
|
|
|
|
|
|
|
def genreRecommender(genre): |
|
|
if genre in Maindf['genre'].values: |
|
|
return Maindf[Maindf['genre'] == genre] |
|
|
else: |
|
|
return "no genre found" |
|
|
|
|
|
def titleCheck(title): |
|
|
if title.lower() in Maindf['title'].str.lower().values: |
|
|
return True |
|
|
else: |
|
|
return False |
|
|
|
|
|
|
|
|
def titlerecommend(title): |
|
|
titleChe = titleCheck(title) |
|
|
|
|
|
if titleChe is True: |
|
|
genre = Maindf.loc[Maindf['title'].str.lower() == title.lower(), 'genre'].values[0] |
|
|
|
|
|
if genre in Maindf['genre'].values: |
|
|
return Maindf[Maindf['genre'] == genre] |
|
|
|
|
|
else: |
|
|
print("No title found") |
|
|
|
|
|
|
|
|
|
|
|
@app.route('/') |
|
|
def home(): |
|
|
return render_template("home.html", |
|
|
title = list(homedf["title"].values), |
|
|
image = list(homedf["thumbnail"].values), |
|
|
short_description = list(homedf["short_description"].values), |
|
|
game_url = list(homedf["game_url"].values), |
|
|
genre = list(homedf["genre"].values), |
|
|
platform = list(homedf["platform"].values), |
|
|
publisher = list(homedf["publisher"].values), |
|
|
developer = list(homedf["developer"].values), |
|
|
release_date = list(homedf["release_date"].values), |
|
|
freetogame_profile_url = list(homedf["freetogame_profile_url"].values), |
|
|
) |
|
|
|
|
|
@app.route("/recommend") |
|
|
def recommend(): |
|
|
return render_template("recommend.html") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@app.route("/UserRecommend", methods=['POST']) |
|
|
def title(): |
|
|
user_input_title = request.form.get('Userinputtitle') |
|
|
filterTitleDataframe = titlerecommend(user_input_title) |
|
|
if filterTitleDataframe.empty: |
|
|
games = [] |
|
|
else: |
|
|
games = filterTitleDataframe.to_dict(orient="records") |
|
|
return render_template('recommend.html', games=games, user_input_title=user_input_title) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
|
app.run(host='0.0.0.0', debug=True) |
|
|
|