Spaces:
Sleeping
Sleeping
import gradio as gr | |
import io | |
import os | |
import uuid | |
import requests | |
import gradio as gr | |
from pypdf import PdfReader | |
from pypipertts import PyPiper | |
import subprocess | |
pp=PyPiper() | |
pp.load_mod() | |
def read_pdf(pdf_url): | |
print(pdf_url) | |
file_name=f"{uuid.uuid4()}.pdf" | |
response = requests.get(pdf_url.replace('http:','https:'), stream=True) | |
if response.status_code == 200: | |
with open(file_name, "wb") as f: | |
f.write(response.content) | |
else: | |
print(response.status_code) | |
txt_out="" | |
reader = PdfReader(file_name) | |
number_of_pages = len(reader.pages) | |
#file_name=str(pdf_path).split("\\")[-1] | |
for i in range(number_of_pages): | |
page = reader.pages[i] | |
txt_out+=page.extract_text() | |
#return txt_out | |
return txt_out | |
def load_html(url): | |
html=f"""<iframe src="https://docs.google.com/viewer?url={url})&embedded=true" frameborder="0" height="1200px" width="100%"></iframe></div>""" | |
return html | |
js=""" | |
function start() { | |
const urlParams = new URLSearchParams(window.location.search); | |
var parampdf = urlParams.get('pdfurl') | |
var parammod = urlParams.get('mod') | |
return parampdf,parammod | |
}""" | |
with gr.Blocks() as app: | |
a=gr.Audio(streaming=True,autoplay=True) | |
h=gr.HTML() | |
with gr.Column(visible=True): | |
t=gr.Textbox(label="url",interactive=False,visible=True) | |
m=gr.Textbox(label="mod",interactive=False,visible=True) | |
bulk=gr.Textbox(label="bulk",interactive=False,visible=True) | |
app.load(None,None,[t,m],js=js) | |
t.change(read_pdf,t,bulk) | |
m.change(pp.load_mod,m,None) | |
bulk.change(pp.stream_tts,[bulk,m],a) | |
app.queue(default_concurrency_limit=20).launch(max_threads=40) |