@@ -23,25 +23,35 @@ def fetch_trailer(movie_name):
23
23
24
24
def recommend (movies , input_movie ):
25
25
movie_index = movies [movies ['title' ] == input_movie ].index [0 ]
26
- distances = similarity [movie_index ]
27
- movies_list = sorted (list (enumerate (distances )), reverse = True , key = lambda x : x [1 ])[1 :6 ]
28
-
26
+ distances = similarity [movie_index ] # type: ignore
27
+
28
+ # List to hold movie recommendations
29
+ movies_list = sorted (list (enumerate (distances )), reverse = True , key = lambda x : x [1 ])
30
+
31
+ # Filter out the input movie and get top 5 recommendations
29
32
recommended_movies = []
30
33
recommended_movies_link = []
31
34
recommended_movies_trailer_link = []
32
35
for x in movies_list :
33
36
movie_title = movies .iloc [x [0 ]].title
34
- recommended_movies .append (movie_title )
35
- recommended_movies_link .append (fetch_link (movie_title ))
36
- recommended_movies_trailer_link .append (fetch_trailer (movie_title ))
37
+ if movie_title != input_movie : # Skip the input movie
38
+ recommended_movies .append (movie_title )
39
+ recommended_movies_link .append (fetch_link (movie_title ))
40
+ recommended_movies_trailer_link .append (fetch_trailer (movie_title ))
41
+ if len (recommended_movies ) == 5 : # Limit to top 5 recommendations
42
+ break
43
+
37
44
return recommended_movies , recommended_movies_link , recommended_movies_trailer_link
38
45
46
+
39
47
# Define paths to your files
40
- similarity_path = r'Web_app/pages/similarity.pkl'
41
- movies_csv_path = r'Web_app/movies.csv'
48
+ similarity_path = r'./pages/similarity.pkl'
49
+ movies_csv_path = r'./movies.csv'
50
+
42
51
43
52
# Check if the similarity file exists
44
53
if os .path .exists (similarity_path ):
54
+ #print("File opened successfully")
45
55
with open (similarity_path , 'rb' ) as file :
46
56
similarity = pickle .load (file )
47
57
else :
@@ -72,6 +82,8 @@ def recommend(movies, input_movie):
72
82
}
73
83
)
74
84
85
+ data_df .index = data_df .index + 1 #Increasing index
86
+
75
87
st .data_editor (
76
88
data_df ,
77
89
column_config = {
0 commit comments