import os from flask import Flask from watchdog.observers import Observer from watchdog.events import FileSystemEventHandler # -------------- VARIABLES -------------- html_file_path = r"PATH" host = "0.0.0.0" port = 80 is_oe11 = True # if using OE11 set it to True, for OE12 set it to False (encoding) scroll_pixels = 100 scroll_interval = 3 # seconds bottom_wait_time = 3 # seconds top_wait_time = 3 # seconds reload_interval = 35 # seconds # -------------- END VARIABLES -------------- app = Flask(__name__) class FileChangeHandler(FileSystemEventHandler): def __init__(self, app): self.app = app def on_modified(self, event): if event.src_path == html_file_path: with self.app.app_context(): self.app.config["TEMPLATES_AUTO_RELOAD"] = True @app.route("/") def serve_html(): with open(html_file_path, "r", encoding=("cp1252" if is_oe11 else "utf-8")) as file: content = file.read() content += f""" """ return content if __name__ == "__main__": event_handler = FileChangeHandler(app) observer = Observer() observer.schedule( event_handler, path=os.path.dirname(html_file_path), recursive=False ) observer.start() try: app.run(host=host, port=port) except KeyboardInterrupt: observer.stop() observer.join()