amitness's picture
Update app.py
9ffe939
raw
history blame contribute delete
No virus
1.07 kB
import io
import shutil
import tarfile
import tempfile
import uuid
import gradio as gr
import requests
def convert_tar_to_zip(arxiv_url):
latex_source_url = (arxiv_url.replace('/abs/', '/e-print/')
.replace('arxiv.org', 'export.arxiv.org'))
# Fetch the latex source as .tar.gz file
tar_file = requests.get(latex_source_url).content
with tarfile.open(fileobj=io.BytesIO(tar_file)) as tar:
with tempfile.TemporaryDirectory() as temp_dir:
# Extract the tar file to a temporary directory
tar.extractall(temp_dir)
# Create a zip file from the extracted tar file
filename = str(uuid.uuid4())
zip_name = f'{filename}'
shutil.make_archive(filename, 'zip', temp_dir)
return {'zip_url': f'{zip_name}.zip'}
inputs = gr.Textbox(label="URL")
title = "Conversion Engine for Arxiv Latex Tar to Zip"
description = "Enter the URL of the Arxiv paper"
gr.Interface(convert_tar_to_zip, inputs, "json", title=title, description=description).launch()