sps / app.py
slimshadow's picture
Update app.py
4529a18 verified
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.")