|
import gradio as gr |
|
from rich.console import Console |
|
from rich.syntax import Syntax |
|
|
|
|
|
def log_file_to_html_string(): |
|
log_file = "mylog.log" |
|
|
|
console = Console(record=True, width=150) |
|
with open(log_file, "rt") as f: |
|
syntax = Syntax(f.read(), "python", theme="monokai", word_wrap=True) |
|
|
|
console.print(syntax) |
|
html_content = console.export_html(inline_styles=True) |
|
|
|
return html_content |
|
|
|
theme = gr.themes.Default().set( |
|
body_background_fill="repeating-linear-gradient(45deg, *primary_800, *primary_800 10px, *primary_900 10px, *primary_900 20px)", |
|
body_background_fill_dark="repeating-linear-gradient(45deg, *primary_800, *primary_800 10px, *primary_900 10px, *primary_900 20px)", |
|
) |
|
|
|
with gr.Blocks(theme=theme) as demo: |
|
name = gr.Markdown("# Reddit Scraper") |
|
output = gr.HTML(log_file_to_html_string, every=1) |
|
|
|
if __name__ == '__main__': |
|
demo.launch(server_name="0.0.0.0", show_error=True, server_port=7860, enable_queue=True) |
|
|