import websocket
import _thread
import time
import rel
from utillc import *
import argparse

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")

#"wss://api.gemini.com/v1/marketdata/BTCUSD",

parser = argparse.ArgumentParser()
parser.add_argument('--url', default="ws://192.168.1.95/ws")
ws_address = parser.parse_args().url

if __name__ == "__main__":
    #websocket.enableTrace(True)
    ws = websocket.WebSocketApp(ws_address,
                                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()
    
