LearnStreamlit / app.py
Karley8's picture
Update app.py
f336a81 verified
import streamlit as st
from GlobalMovies import (
region_languages,
movie_titles,
movie_descriptions,
movie_languages,
tfidf_matrix,
recommend_foreign
)
st.set_page_config(page_title="WorldFlix", layout="centered")
st.title("🌍 WorldFlix: Discover Global Cinema")
st.markdown("Choose a region and a movie you like. We'll recommend similar international films.")
# Region dropdown
selected_region = st.selectbox("Choose a film region:", list(region_languages.keys()))
# Language options for the selected region
language_dict = region_languages[selected_region]
selected_lang_name = st.selectbox("Select a language:", list(language_dict.values()))
selected_language = [code for code, name in language_dict.items() if name == selected_lang_name][0]
# Filter titles for that language
filtered_titles = [title for i, title in enumerate(movie_titles) if movie_languages[i] == selected_language]
if not filtered_titles:
st.warning("No movies found for this language. Try another region or refresh the app.")
else:
selected_movie = st.selectbox("Choose a movie you like:", filtered_titles)
if selected_movie:
st.subheader("Recommended Films:")
recommendations = recommend_foreign(
selected_movie,
tfidf_matrix,
movie_titles,
movie_languages,
lang=selected_language
)
for rec in recommendations:
st.markdown(f"- 🎬 **{rec}**")