Files
gimmiCoffee/modules/socketio.py
2025-05-13 23:01:38 +00:00

32 lines
941 B
Python

from flask_socketio import SocketIO
from modules.persistence import esp_conn_infos,load_dict, save_dict
from datetime import datetime
socketio = SocketIO(cors_allowed_origins="*", async_mode='threading')
# function to change the datetime format to isoformat because json does not support datetime
def convert_datetimes(obj):
if isinstance(obj, dict):
return {k: convert_datetimes(v) for k, v in obj.items()}
elif isinstance(obj, list):
return [convert_datetimes(i) for i in obj]
elif isinstance(obj, datetime):
return obj.strftime("%d.%m.%Y %H:%M")
else:
return obj
def resend_static_data():
water = load_dict("water")
beans = load_dict("beans")
machine = load_dict("machine")
esp_info = convert_datetimes(esp_conn_infos)
socketio.emit('static_data', {
'water': water,
'beans': beans,
'machine': machine,
'esp_conn_infos': esp_info
})