Spaces:
Sleeping
Sleeping
File size: 1,300 Bytes
2791809 |
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 |
# app.py
import gradio as gr
import requests
KOYEB_API = "https://downloadmovieab.koyeb.app"
def fetch_root():
res = requests.get(KOYEB_API)
return res.text
def search_movie(query):
url = f"{KOYEB_API}/api/search/{query}"
res = requests.get(url, headers={"Accept": "application/json"})
return res.json()
def trending_movies():
url = f"{KOYEB_API}/api/trending"
res = requests.get(url)
return res.json()
def movie_info(movie_id):
url = f"{KOYEB_API}/api/info/{movie_id}"
res = requests.get(url)
return res.json()
# Gradio interface
with gr.Blocks() as demo:
gr.Markdown("## Movie API Proxy via Gradio")
with gr.Tab("Root"):
gr.Button("Fetch Root").click(fetch_root, outputs=gr.Textbox())
with gr.Tab("Search"):
query_input = gr.Textbox(label="Search Query")
search_btn = gr.Button("Search")
search_btn.click(search_movie, inputs=query_input, outputs=gr.JSON())
with gr.Tab("Trending"):
gr.Button("Trending Movies").click(trending_movies, outputs=gr.JSON())
with gr.Tab("Movie Info"):
movie_id_input = gr.Textbox(label="Movie ID")
info_btn = gr.Button("Get Info")
info_btn.click(movie_info, inputs=movie_id_input, outputs=gr.JSON())
demo.launch()
|