Spaces:
No application file
No application file
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,4 +1,5 @@
|
|
| 1 |
-
|
|
|
|
| 2 |
import pandas as pd
|
| 3 |
from sklearn.feature_extraction.text import TfidfVectorizer
|
| 4 |
from sklearn.metrics.pairwise import cosine_similarity
|
|
@@ -60,7 +61,7 @@ class BookRecommender:
|
|
| 60 |
except Exception as e:
|
| 61 |
return f"An error occurred: {e}"
|
| 62 |
|
| 63 |
-
similar_books_indices = self.similarity_matrix[book_index].argsort()[::-1][1:6]
|
| 64 |
recommended_books = self.df['title'].iloc[similar_books_indices].tolist()
|
| 65 |
return recommended_books
|
| 66 |
|
|
@@ -81,7 +82,7 @@ recommender = BookRecommender()
|
|
| 81 |
@app.route("/", methods=["GET", "POST"])
|
| 82 |
def index():
|
| 83 |
message = ""
|
| 84 |
-
recommendations = None
|
| 85 |
if request.method == "POST":
|
| 86 |
if 'file' in request.files:
|
| 87 |
file = request.files['file']
|
|
@@ -104,12 +105,13 @@ def index():
|
|
| 104 |
message = "Please upload and process a file first."
|
| 105 |
else:
|
| 106 |
recommendations = recommender.recommend_books(book_title)
|
| 107 |
-
if isinstance(recommendations, str):
|
| 108 |
message = recommendations
|
| 109 |
else:
|
| 110 |
-
message = ""
|
| 111 |
return render_template("index.html", message=message, recommendations=recommendations)
|
| 112 |
|
| 113 |
|
| 114 |
if __name__ == "__main__":
|
| 115 |
-
|
|
|
|
|
|
| 1 |
+
import os
|
| 2 |
+
from flask import Flask, render_template, request
|
| 3 |
import pandas as pd
|
| 4 |
from sklearn.feature_extraction.text import TfidfVectorizer
|
| 5 |
from sklearn.metrics.pairwise import cosine_similarity
|
|
|
|
| 61 |
except Exception as e:
|
| 62 |
return f"An error occurred: {e}"
|
| 63 |
|
| 64 |
+
similar_books_indices = self.similarity_matrix[book_index].argsort()[::-1][1:6]
|
| 65 |
recommended_books = self.df['title'].iloc[similar_books_indices].tolist()
|
| 66 |
return recommended_books
|
| 67 |
|
|
|
|
| 82 |
@app.route("/", methods=["GET", "POST"])
|
| 83 |
def index():
|
| 84 |
message = ""
|
| 85 |
+
recommendations = None
|
| 86 |
if request.method == "POST":
|
| 87 |
if 'file' in request.files:
|
| 88 |
file = request.files['file']
|
|
|
|
| 105 |
message = "Please upload and process a file first."
|
| 106 |
else:
|
| 107 |
recommendations = recommender.recommend_books(book_title)
|
| 108 |
+
if isinstance(recommendations, str):
|
| 109 |
message = recommendations
|
| 110 |
else:
|
| 111 |
+
message = ""
|
| 112 |
return render_template("index.html", message=message, recommendations=recommendations)
|
| 113 |
|
| 114 |
|
| 115 |
if __name__ == "__main__":
|
| 116 |
+
port = int(os.environ.get("PORT", 5000)) # Get port from environment or default to 5000
|
| 117 |
+
app.run(debug=True, host='0.0.0.0', port=port) # Run on all interfaces, specified port
|