Untitled
unknown
plain_text
a year ago
1.7 kB
8
Indexable
from flask import Flask, send_from_directory
from flask_socketio import SocketIO
import csv
import threading
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
app = Flask(__name__)
socketio = SocketIO(app, cors_allowed_origins="*")
data = []
file_path = '/Users/scott/Desktop/tkinter_vscode/overlay/overlaytest.csv'
def read_csv(file_path):
global data
try:
with open(file_path, mode='r') as file:
reader = csv.reader(file)
data = [row for row in reader]
print("Read data:", data) # Debug line
socketio.emit('update_data', data)
except Exception as e:
print(f"Error reading CSV file: {e}")
class FileChangeHandler(FileSystemEventHandler):
def __init__(self, file_path):
self.file_path = file_path
def on_modified(self, event):
if event.src_path == self.file_path:
print(f"File changed: {event.src_path}") # Debug line
read_csv(self.file_path)
read_csv(file_path)
event_handler = FileChangeHandler(file_path)
observer = Observer()
observer.schedule(event_handler, path='/Users/scott/Desktop/tkinter_vscode/overlay', recursive=False)
observer.start()
@app.route('/')
def index():
return send_from_directory('.', 'overlay.html')
if __name__ == '__main__':
def observer_thread():
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
thread = threading.Thread(target=observer_thread)
thread.daemon = True
thread.start()
socketio.run(app, debug=True)
Editor is loading...
Leave a Comment