Spaces:
Running
Running
File size: 1,327 Bytes
a235177 1748047 a235177 75642d2 10ac278 341551d 10ac278 341551d 10ac278 4da7dd9 af35d61 49cee1b 035484e 3d2bc32 a235177 d5c98ae 341551d 3bda8ad a235177 7c2f2b2 98aa43b a235177 7c2f2b2 49cee1b a235177 |
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 |
import gradio as gr
import xmltodict
import requests
import json
style="""
.title_div{
font-size: x-large;
font-weight: 700;
margin-bottom: 10px;
color: white;
}
.card_div{
background: #050523;
color: white;
margin: 10px;
padding: 15px;
border-radius: 5px;
}
"""
jscript="""
function run(e) {
console.log(e);
}
"""
def search(q,rn):
api="http://export.arxiv.org/api/query?search_query=SQ&start=0&max_results=MR"
r=requests.get(api.replace("SQ",q).replace("MR",str(rn)))
cont=xmltodict.parse(r.content)['feed']['entry']
html=""
for i,c in enumerate(cont):
pdflink=c['id'].replace('/abs/','/pdf/')
html+=f"<div class='card_div' id='id{i}' onclick=run(id{i})>"
html+=f"<div class='title_div'>{c['title']}</div>"
html+=f"<div style='color:white;'>{c['summary']}</div>"
html+=f"<div><a href='{pdflink}' target='_blank'>{pdflink}</a></div>"
html+="</div>"
return(json.dumps(cont,indent=4)),html
with gr.Blocks(css=style,js=jscript) as b:
with gr.Group():
with gr.Row():
query=gr.Textbox(label="Query")
num=gr.Number(label="Count",step=1,value=10)
sub=gr.Button()
html_out=gr.HTML()
json_out=gr.JSON()
sub.click(search,[query,num],[json_out,html_out])
b.launch() |