G
sharing this if someone needs it.
"Code to store live websocket data in dynamic dictionary"
....................................................................................................................
from smartapi import SmartConnect
from smartapi import SmartWebSocket
subscribetoken = "nse_cm|2031&nse_cm|212&nse_cm|3045"
live_data = {}
def websocketstreaming ():
FEED_TOKEN = feedToken
CLIENT_CODE = credentials.USER_NAME
token = subscribetoken
task = "mw"
ss = SmartWebSocket(FEED_TOKEN, CLIENT_CODE)
def on_message(ws, message):
for i in message:
for j, k in i.items():
if j == 'ltp':
t = i.get('tk') #token
l = i.get('ltp') #ltp
#print(t, k)
live_data[t] = k #storing token:ltp in dictionary
print(live_data)
else:
pass
def on_open(ws):
print("on open")
ss.subscribe(task, token)
def on_error(ws, error):
print(error)
def on_close(ws):
print("Close")