import os from pathlib import Path from datetime import datetime import gradio as gr from bs4 import BeautifulSoup from rich.console import Console from rich.syntax import Syntax proj_dir = Path(__name__).parent subreddit = os.environ["SUBREDDIT"] username = os.environ["USERNAME"] dataset_name = f"{username}/dataset-creator-reddit-{subreddit}" frequency = os.environ.get("FREQUENCY", '').lower() if frequency not in ["daily", "hourly"]: raise gr.Error("FREQUENCY environment variable must be 'daily' or 'hourly'") def log_file_to_html_string(): log_file = "mylog.log" num_lines_visualize = 50 console = Console(record=True, width=150, style="#272822") with open(log_file, "rt") as f: # Seek to the end of the file minus 300 lines # Read the last 300 lines of the file lines = f.readlines() lines = lines[-num_lines_visualize:] # Syntax-highlight the last 300 lines of the file using the Python lexer and Monokai style output = "".join(lines) syntax = Syntax(output, "python", theme="monokai", word_wrap=True) console.print(syntax); html_content = console.export_html(inline_styles=True) # Parse the HTML content using BeautifulSoup soup = BeautifulSoup(html_content, 'lxml') # Modify the
tag pre_tag = soup.pre pre_tag['class'] = 'scrollable' del pre_tag['style'] # Add your custom styles and the .scrollable CSS to the