Spaces:
Runtime error
Runtime error
import os | |
from jinja2 import Environment, FileSystemLoader, select_autoescape | |
from get_paperinfo_fromurls import get_paperinfo_fromurls | |
import gradio as gr | |
class CARDS_TEMPLATE(object): | |
def __init__(self, path_to_template, template_filename): | |
self.path_to_template = path_to_template | |
self.template_filename = template_filename | |
self.template = self._get_template() | |
self.rendered_html = None | |
def _get_template(self): | |
env = Environment( | |
autoescape=select_autoescape( | |
enabled_extensions=('html'), | |
default_for_string=True, | |
), | |
loader=FileSystemLoader(self.path_to_template) | |
) | |
return env.get_template(self.template_filename) | |
def render(self, paper_details_iterator): | |
self.rendered_html = self.template.render(paper_details=paper_details_iterator) | |
def save_html(self, output_dir=None, output_htmlfile=None): | |
with open(os.path.join(output_dir, output_htmlfile), "w") as f: | |
f.write(self.rendered_html) | |
template_file = "htmlcard.html" | |
template_path = "" | |
card_template = CARDS_TEMPLATE( | |
path_to_template = template_path, | |
template_filename = template_file, | |
) | |
def create_html_card(arxiv_link): | |
paper_details = get_paperinfo_fromurls(arxiv_link) | |
card_template.render(paper_details_iterator=paper_details) | |
return card_template.rendered_html | |
demo = gr.Blocks() | |
with demo: | |
with gr.Row(): | |
text = gr.inputs.Textbox() | |
with gr.Row(): | |
button = gr.Button("Generate card !") | |
with gr.Row(): | |
card = gr.HTML() | |
button.click( | |
fn=create_html_card, | |
inputs=[text], | |
outputs=[card] | |
) | |
demo.launch() |