sponsoredbye / app.py
IanRonk's picture
Update app.py
cef75b3 verified
from os import pipe
import re
import gradio as gr
from functions.punctuation import punctuate
from functions.model_infer import predict_from_document
from functions.convert_time import match_mask_and_transcript
title = "sponsoredBye - never listen to sponsors again"
description = "Sponsored sections in videos are annoying and take up a lot of time. Improve your YouTube watching experience, by filling in the youtube url and figure out what segments to skip."
article = "Check out [the original Rick and Morty Bot](https://huggingface.co/spaces/kingabzpro/Rick_and_Morty_Bot) that this demo is based off of."
def pipeline(video_url):
video_id = video_url.split("?v=")[-1]
punctuated_text, transcript = punctuate(video_id)
sentences = re.split(r"[\.\!\?]\s", punctuated_text)
classification, probs = predict_from_document(sentences)
# return punctuated_text
times, timestamps = match_mask_and_transcript(sentences, transcript, classification)
return [{"begin": time[0], "end": time[1]} for time in times]
# return [
# {
# "start": "12:05",
# "end": "12:52",
# "classification": str(classification),
# "probabilities": probs,
# "times": times,
# "timestamps": timestamps,
# }
# ]
# print(pipeline("VL5M5ZihJK4"))
demo = gr.Interface(
fn=pipeline,
title=title,
description=description,
inputs="text",
# outputs=gr.Label(num_top_classes=3),
outputs="json",
# examples=[
# "https://www.youtube.com/watch?v=UjtOGPJ0URM",
# "https://www.youtube.com/watch?v=TrZyuCh9df0",
# ],
)
demo.launch(share=True)