File size: 3,696 Bytes
5a55e71
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4529a18
5a55e71
 
 
 
3915faf
b9af27d
5a55e71
 
 
 
 
 
 
 
 
 
 
 
 
b9af27d
 
 
3fe407e
 
 
 
b9af27d
 
 
 
 
 
 
 
5a55e71
b9af27d
 
3fe407e
5a55e71
b9af27d
3fe407e
b9af27d
 
 
 
 
3fe407e
5a55e71
b9af27d
3fe407e
b9af27d
 
 
3fe407e
5a55e71
 
 
 
 
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import streamlit as st
import requests

# Function to search for movies or TV shows using the TMDb API
def search_tmdb(query, media_type, api_key):
    url = f"https://api.themoviedb.org/3/search/{media_type}"
    params = {
        "api_key": api_key,
        "query": query,
        "language": "en-US",
        "page": 1,
    }
    response = requests.get(url, params=params)
    results = response.json().get("results", [])
    return results[:5]  # Return only the first 5 results

# Function to generate the embed link
def generate_embed_link(tmdb_id, media_type):
    base_url = "https://v1.sdsp.xyz/embed"
    if media_type == "movie":
        return f"{base_url}/movie/{tmdb_id}"
    elif media_type == "tv":
        return f"{base_url}/tv/{tmdb_id}"

# Streamlit app layout
st.title("WATCH FREE MOVIES AND TV SHOWS")
st.write("Search for a movie or TV show")

# Input fields for search query and media type
query = st.text_input("Enter the movie or TV show name:")
media_type = st.selectbox("Select media type:", ["movie", "tv"])

# API key (replace 'your_api_key' with your actual TMDb API key)
api_key = "c8402e1c7b8bb9bcbf95b3fa3bad4d84"

if st.button("Search"):
    if query and api_key:
        results = search_tmdb(query, media_type, api_key)
        if results:
            for result in results:
                # Common details
                tmdb_id = result.get("id", "N/A")
                title = result.get("title") if media_type == "movie" else result.get("name")
                description = result.get("overview", "No description available.")
                release_date = result.get("release_date") if media_type == "movie" else result.get("first_air_date", "N/A")
                poster_path = result.get("poster_path")
                thumbnail = f"https://image.tmdb.org/t/p/w500{poster_path}" if poster_path else None
                popularity = result.get("popularity", "N/A")
                vote_average = result.get("vote_average", "N/A")
                vote_count = result.get("vote_count", "N/A")
                original_language = result.get("original_language", "N/A")
                genre_ids = result.get("genre_ids", "N/A")
                backdrop_path = result.get("backdrop_path")
                backdrop_image = f"https://image.tmdb.org/t/p/w500{backdrop_path}" if backdrop_path else None
                original_title = result.get("original_title") if media_type == "movie" else result.get("original_name")
                embed_link = generate_embed_link(tmdb_id, media_type)
                
                # Display details
                st.write(f"### {title}")
                st.write(f"**TMDb ID:** {tmdb_id}")
                st.write(f"**Original Title:** {original_title}")
                st.write(f"**Release Date:** {release_date}")
                st.write(f"**Popularity:** {popularity}")
                st.write(f"**Vote Average:** {vote_average}")
                st.write(f"**Vote Count:** {vote_count}")
                st.write(f"**Original Language:** {original_language}")
                st.write(f"**Genre IDs:** {genre_ids}")
                st.write(f"**Description:** {description}")
                st.write(f"**Embed Link:** [Watch here]({embed_link})")
                
                if thumbnail:
                    st.image(thumbnail, width=200, caption="Poster")
                if backdrop_image:
                    st.image(backdrop_image, width=500, caption="Backdrop")
                
                st.write("---")
        else:
            st.write("No results found. Please try a different query.")
    else:
        st.write("Please enter a search query and ensure the API key is set.")