BookSumBeta / app.py
npc0's picture
Update app.py
e81588f
raw
history blame
1.02 kB
import gradio as gr
from epub2txt import epub2txt
class GUI:
def __init__(self, *args, **kwargs):
with gr.Blocks() as demo:
with gr.Row():
gr.Markdown(scale=2).attach_load_event(self.hello, None)
gr.LoginButton()
gr.LogoutButton()
self.out = gr.Markdown()
inp = gr.File(file_types=['.epub'])
inp.change(self.process, inp, self.out)
demo.launch()
def process(self, file):
ch_list = epub2txt(file.name, outputlist=True)
chapter_titles = epub2txt.content_titles
title = epub2txt.title
return gr.update(
value=f"# {title}\n\n" + "\n\n".join(
[f"## {ct}\n\n{c}" for ct, c in zip(chapter_titles, ch_list)]))
def hello(self, profile: gr.OAuthProfile | None):
if profile is None:
return '# ePub summarization tool\n\nLogin to access the tool.'
return f"# ePub summarization tool\n\nWelcome {profile.name}!!"
GUI()