File size: 1,470 Bytes
80ff6ba
f336a81
 
 
 
 
 
 
 
80ff6ba
ef73501
f336a81
b77f482
f336a81
b77f482
f336a81
 
b77f482
f336a81
 
 
 
b77f482
f336a81
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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}**")