46 lines
1.1 KiB
Python
46 lines
1.1 KiB
Python
import time
|
|
|
|
from rich.console import Console
|
|
from websocket import create_connection
|
|
|
|
from learn_sql_model.config import get_config
|
|
from learn_sql_model.models.hero import Heros
|
|
|
|
config = get_config()
|
|
|
|
|
|
def connect():
|
|
url = f"ws://{config.api_client.url.replace('https://', '')}/ws/heros"
|
|
# url = f"ws://localhost:5000/ws/heros"
|
|
Console().log(f"connecting to: {url}")
|
|
ws = create_connection(url)
|
|
Console().log(f"connected to: {url}")
|
|
return ws
|
|
|
|
|
|
data = []
|
|
|
|
|
|
def watch(ws):
|
|
while ws.connected:
|
|
try:
|
|
data.append(ws.recv())
|
|
if data[-1].startswith("{"):
|
|
# Console().log(data[-1])
|
|
Console().log(Heros.parse_raw(data[-1]))
|
|
else:
|
|
Console().log(data[-1])
|
|
except Exception as e:
|
|
Console().log("failed to recieve data")
|
|
Console().log(e)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
while True:
|
|
try:
|
|
ws = connect()
|
|
watch(ws)
|
|
except Exception as e:
|
|
Console().log("failed to connect")
|
|
Console().log(e)
|
|
time.sleep(1)
|