Spaces:
Paused
Paused
| 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.") | |