c = Config()
в функцию on_message
что бы каждый раз когда WebSocketApp
вызывает ее, я имел доступ к конфигу внутри неё не используя глобальные переменныеfrom modules.config import Config
import json
import websocket
import _thread
import time
import rel
def on_message(ws, message):
print(message)
def on_error(ws, error):
print(error)
def on_close(ws, close_status_code, close_msg):
print("### closed ###")
def on_open(ws):
print("Opened connection")
if __name__ == '__main__':
c = Config()
websocket.enableTrace(True)
ws = websocket.WebSocketApp("ws://echo.websocket.events",
on_open=on_open,
on_message=on_message,
on_error=on_error,
on_close=on_close)
ws.run_forever(dispatcher=rel,
reconnect=5) # Set dispatcher to automatic reconnection, 5 second reconnect delay if connection closed unexpectedly
rel.signal(2, rel.abort) # Keyboard Interrupt
rel.dispatch()
from modules.config import Config
import json
import websocket
import _thread
import time
import rel
from functools import partial
def on_message(c, ws, message):
print(c.some_property) # Пример использования свойства объекта Config
print(message)
# Остальные функции on_error, on_close, on_open остаются без изменений
if __name__ == '__main__':
c = Config()
websocket.enableTrace(True)
ws = websocket.WebSocketApp("ws://echo.websocket.events",
on_open=on_open,
on_message=partial(on_message, c), # Передача объекта c через partial-функцию
on_error=on_error,
on_close=on_close)
ws.run_forever(dispatcher=rel,
reconnect=5)
rel.signal(2, rel.abort)
rel.dispatch()