DebasishDhal99's picture
Update app.py
550261b
raw
history blame
2.47 kB
import gradio as gr
import urllib.parse.urlparse
from playlist_duration import playlist_duration_func
from average_duration import playlist_average_duration_func
from playlists_mismatch import playlists_mismatch_func
def playlist_duration_calculator(playlist_link, calculation_type):
if calculation_type == "Total Duration":
result = playlist_duration_func(playlist_link)
return f"Total Duration: {result}"
elif calculation_type == "Average Duration":
result = playlist_average_duration_func(playlist_link)
return f"Average Duration: {result}"
playlist_link_input = gr.inputs.Textbox(label="Playlist Link")
calculation_type_input = gr.inputs.Radio(["Total Duration", "Average Duration"], label="What to calculate?")
outputs = gr.outputs.Textbox(label="Result")
heading = "YouTube Playlist Duration Calculator"
description = "Enter a YouTube playlist link and choose the calculation type to calculate its total duration or average duration."
interface1 = gr.Interface(
fn=playlist_duration_calculator,
inputs=[playlist_link_input, calculation_type_input],
outputs=outputs,
title=heading,
description=description,
examples=[
["https://www.youtube.com/playlist?list=PL-osiE80TeTsWmV9i9c58mdDCSskIFdDS", "Total Duration"],
["https://www.youtube.com/playlist?list=PL-osiE80TeTtoQCKZ03TU5fNfx2UY6U4p", "Average Duration"],
],
theme="compact",
)
second_heading = "YouTube Playlist Mismatch Calculator"
second_description = "Enter two YouTube playlist links to compare their contents and find the mismatch."
mismatch_outputs = gr.outputs.Textbox(label="Mismatch between two playlists")
def playlist_mismatch_calculator(playlist_link_1, playlist_link_2):
result = playlists_mismatch_func(playlist_link_1, playlist_link_2, output='name')
return f"Mismatch Result: {result}"
playlist_link_1_input = gr.inputs.Textbox(label="Playlist Link 1")
playlist_link_2_input = gr.inputs.Textbox(label="Playlist Link 2")
interface2 = gr.Interface(
fn=playlist_mismatch_calculator,
inputs=[playlist_link_1_input, playlist_link_2_input],
outputs=mismatch_outputs,
title=second_heading,
description=second_description,
examples=[
["https://www.youtube.com/playlist?list=PL-osiE80TeTsWmV9i9c58mdDCSskIFdDS", "https://www.youtube.com/playlist?list=PL-osiE80TeTtoQCKZ03TU5fNfx2UY6U4p"],
],
theme="compact",
)
interface_1.launch()
interface_2.launch()