Scideck / app.py
Nauryzbay's picture
changed description
a6ed840
raw
history blame
No virus
2.08 kB
from gradio_client import Client
import gradio as gr
import os
def check_password(username, password):
if password == os.environ["ACCESS"]:
return True
else:
return False
def func(file, number_of_pages, secret):
if secret != os.environ["ACCESS"]:
return "Wrong password, please try again"
else:
return client.predict(file, number_of_pages)
def upload_file(file):
return file.name
description = r"""
<b> Scideck </b> is a tool that allows you to convert your PDF files into a presentation deck.
<br>
❗️❗️❗️[<b>Important</b>] Instructions:<br>
1️⃣ <b>Upload the PDF document</b>: Select the PDF file you want to convert into slides.<br>
2️⃣ <b>Specify the number of pages</b>: Indicate the range of pages you'd like to include in the slide generation.<b>Set it to 0</b> if you want to include all pages <br>
3️⃣ <b>Click the Generate button</b>: Initiate the slide generation process by clicking the designated "Generate" button.<br>
4️⃣ <b>Wait for approximately 200 seconds</b>: Allow a brief moment for the system to generate the slides. The process may take up to 200 seconds.<br>
"""
read_key = os.environ.get("HF_TOKEN", None)
if __name__ == "__main__":
client = Client.duplicate("Nauryzbay/deckify_private", hf_token=read_key)
with gr.Blocks() as demo:
gr.Markdown("# Scideck: Generate slides (LaTeX Beamer) from PDF")
gr.Markdown(description)
file_output = gr.File()
upload_button = gr.UploadButton("Click to Upload a PDF File", file_types=["file"], file_count="single", size="sm")
upload_button.upload(upload_file, upload_button, file_output)
number_of_pages = gr.Number(label="Number of pages")
secret = gr.Textbox(label="Password", type="password")
output = gr.Textbox(label="Output")
greet_btn = gr.Button("Generate slides")
greet_btn.click(fn=func, inputs=[upload_button, number_of_pages, secret], outputs=output, api_name="greet")
demo.queue(max_size=5)
demo.launch()