Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,18 +1,43 @@
|
|
| 1 |
-
# app.py
|
| 2 |
import streamlit as st
|
| 3 |
-
from GlobalMovies import
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
|
| 5 |
st.set_page_config(page_title="WorldFlix", layout="centered")
|
|
|
|
| 6 |
|
| 7 |
-
st.
|
| 8 |
|
| 9 |
-
|
|
|
|
| 10 |
|
| 11 |
-
|
| 12 |
-
|
|
|
|
|
|
|
| 13 |
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
import streamlit as st
|
| 2 |
+
from GlobalMovies import (
|
| 3 |
+
region_languages,
|
| 4 |
+
movie_titles,
|
| 5 |
+
movie_descriptions,
|
| 6 |
+
movie_languages,
|
| 7 |
+
tfidf_matrix,
|
| 8 |
+
recommend_foreign
|
| 9 |
+
)
|
| 10 |
|
| 11 |
st.set_page_config(page_title="WorldFlix", layout="centered")
|
| 12 |
+
st.title("🌍 WorldFlix: Discover Global Cinema")
|
| 13 |
|
| 14 |
+
st.markdown("Choose a region and a movie you like. We'll recommend similar international films.")
|
| 15 |
|
| 16 |
+
# Region dropdown
|
| 17 |
+
selected_region = st.selectbox("Choose a film region:", list(region_languages.keys()))
|
| 18 |
|
| 19 |
+
# Language options for the selected region
|
| 20 |
+
language_dict = region_languages[selected_region]
|
| 21 |
+
selected_lang_name = st.selectbox("Select a language:", list(language_dict.values()))
|
| 22 |
+
selected_language = [code for code, name in language_dict.items() if name == selected_lang_name][0]
|
| 23 |
|
| 24 |
+
# Filter titles for that language
|
| 25 |
+
filtered_titles = [title for i, title in enumerate(movie_titles) if movie_languages[i] == selected_language]
|
| 26 |
+
|
| 27 |
+
if not filtered_titles:
|
| 28 |
+
st.warning("No movies found for this language. Try another region or refresh the app.")
|
| 29 |
+
else:
|
| 30 |
+
selected_movie = st.selectbox("Choose a movie you like:", filtered_titles)
|
| 31 |
+
|
| 32 |
+
if selected_movie:
|
| 33 |
+
st.subheader("Recommended Films:")
|
| 34 |
+
recommendations = recommend_foreign(
|
| 35 |
+
selected_movie,
|
| 36 |
+
tfidf_matrix,
|
| 37 |
+
movie_titles,
|
| 38 |
+
movie_languages,
|
| 39 |
+
lang=selected_language
|
| 40 |
+
)
|
| 41 |
+
|
| 42 |
+
for rec in recommendations:
|
| 43 |
+
st.markdown(f"- 🎬 **{rec}**")
|