Spaces:
Runtime error
Runtime error
import os | |
import streamlit as st | |
from pdfminer.high_level import extract_pages | |
from search import search | |
from get_paper import get_paper | |
from get_pages import get_pages | |
from tts import inference | |
st.title("ArXiV Audio") | |
with st.form(key="search_form"): | |
col1, col2, col3 = st.columns(3) | |
with col1: | |
query = st.text_input("Search Paper") | |
with col2: | |
sort_by = st.selectbox(label="Sort By", options=( | |
'Relevance', 'Last Updated Date', 'Submitted Date')) | |
with col3: | |
order_by = st.selectbox( | |
label="Order By", options=('Ascending', 'Descending')) | |
submit = st.form_submit_button(label="Search") | |
lst = search(query=query, sort_by=sort_by, sort_order=order_by) | |
if len(lst) != 0: | |
label = "Papers for " + query | |
with st.form(key="paper_form"): | |
pname = st.selectbox(label=label, options=lst) | |
submit_paper = st.form_submit_button(label="Fetch Paper") | |
else: | |
with st.form(key="paper_form"): | |
pname = st.selectbox(label="NO PAPERS", options=lst) | |
submit_paper = st.form_submit_button(label="Fetch Paper") | |
paper = "" | |
if submit_paper or os.path.exists('downloads/paper.pdf'): | |
paper = get_paper(pname) | |
print("Submit_paper = ", submit_paper) | |
name = "" | |
tpages = 0 | |
lst_idx = 1 | |
if paper: | |
name = "./downloads/paper.pdf" | |
tpages = len(list(extract_pages(name))) | |
lst_idx = tpages-1 | |
pgs = [i+1 for i in range(tpages)] | |
start_page = 1 | |
end_page = 1 | |
#content = get_pages(name, start_page, end_page) | |
#audio_path = inference(content, "english") | |
#audio_file = open(audio_path, "rb") | |
#audio_bytes = audio_file.read() | |
#st.audio(audio_bytes, format='audio/wav') | |
with st.form(key="page_form"): | |
print("inside page form") | |
col4, col5 = st.columns(2) | |
with col4: | |
print("column 1") | |
s_page = st.selectbox(label="Start Page", options=pgs) | |
print(s_page) | |
start_page = s_page | |
with col5: | |
print("column 2") | |
e_page = st.selectbox(label="End Page", options=pgs, index=lst_idx) | |
print(e_page) | |
end_page = e_page | |
st.text("*") | |
submit_pages = st.form_submit_button(label="Convert To Audio") | |
print("Submit_pages' = ", submit_pages) | |
print(start_page, end_page) | |
print("Submit_pages = ", submit_pages) | |
if submit_pages: | |
content = get_pages(name, start_page, end_page) | |
x = st.text("Converting to Audio..... Please Wait") | |
audio_path = inference(content, "english") | |
audio_file = open(audio_path, "rb") | |
audio_bytes = audio_file.read() | |
x = st.text("Done") | |
st.audio(audio_bytes, format='audio/wav') | |
os.remove('downloads/paper.pdf') | |
print("Submit_paper at end state = ", submit_paper) | |
else: | |
with st.form(key="page_form"): | |
col1, col2 = st.columns(2) | |
with col1: | |
s_page = st.selectbox(label="Start Page", options=[]) | |
with col2: | |
e_page = st.selectbox(label="End Page", options=[]) | |
submit_pages2 = st.form_submit_button(label="Convert To Audio") | |
st.text(" ") | |
st.text(" ") | |
st.text(" ") | |
st.text(" ") | |
st.text(" ") | |
st.markdown("Created by [Archan Ghosh](https://github.com/ArchanGhosh) & [Madhurima Maji](https://github.com/madhurima99). Special Thanks to [Herumb](https://github.com/krypticmouse) for helping us with the deployment.", unsafe_allow_html=True) | |
st.markdown("Do Support us on [Github](https://github.com/ArchanGhosh/ArxivAudio)", unsafe_allow_html =True) | |
st.text(" ") | |
st.text("* - Please limit to 3 pages as we are currently rate limited on CPU, we are planning to move to a GPU in the coming future. ") |