Resetting utils subtree.
This commit is contained in:
@@ -58,6 +58,9 @@ import socket
|
||||
import datetime
|
||||
import time
|
||||
|
||||
# To work with tabulated data:
|
||||
import pandas as pd
|
||||
|
||||
# Controllers:
|
||||
from controllers_v2.finstitutions.trading.all_trading import AllTradingController
|
||||
|
||||
@@ -236,6 +239,12 @@ def setup_zerodha_kite_feed(
|
||||
:return: True if successful, else False.
|
||||
"""
|
||||
|
||||
# Ensure that we filter out duplicate records:
|
||||
total_instruments_df = pd.DataFrame(total_instruments)
|
||||
# print(total_instruments_df.to_string())
|
||||
total_instruments_df.drop_duplicates(subset = "broker_token", keep = "first", inplace = True)
|
||||
total_instruments = total_instruments_df.to_dict(orient = "records")
|
||||
|
||||
# Declare the required global variables:
|
||||
global ZERODHA_INSTRUMENT_TOKENS
|
||||
global ZERODHA_INSTRUMENT_LOOKUP
|
||||
@@ -271,10 +280,35 @@ def setup_zerodha_kite_feed(
|
||||
instruments = [TradingSymbol.from_zerodha_kite(i) for i in instruments]
|
||||
|
||||
# Create the lookup:
|
||||
# invalid_broken_token_count = 0
|
||||
# print("INVALID BROKEN TOKENS:\n")
|
||||
all_temp_instr = {}
|
||||
pop_count = 0
|
||||
for i in instruments:
|
||||
if str(i.brokerToken) in valid_broker_tokens:
|
||||
ZERODHA_INSTRUMENT_TOKENS.append(i.brokerToken)
|
||||
ZERODHA_INSTRUMENT_LOOKUP[i.brokerToken] = i.model_dump()
|
||||
all_temp_instr[i.brokerToken] = i
|
||||
pop_count += 1
|
||||
|
||||
print(f"Populated: {pop_count}")
|
||||
invalid_broken_token_count = 0
|
||||
not_found_broker_tokens = []
|
||||
for broker_token, broker_symbol in zip(valid_broker_tokens, valid_broker_symbols):
|
||||
broker_token = int(broker_token)
|
||||
if ZERODHA_INSTRUMENT_LOOKUP.get(broker_token) is None:
|
||||
not_found_broker_tokens.append(str(broker_token))
|
||||
try: print(f"FAILED: {broker_token: ^15} | {all_temp_instr[broker_token].symbol: ^30} | {all_temp_instr[broker_token].exchange}")
|
||||
except: print(f"FAILED: {broker_token: ^15} | {broker_symbol: ^30} | ")
|
||||
invalid_broken_token_count += 1
|
||||
print("\nTOTAL:", invalid_broken_token_count)
|
||||
not_found_df = total_instruments_df[total_instruments_df["broker_token"].isin(not_found_broker_tokens)]
|
||||
not_found_df['expiry_date'] = pd.to_datetime(not_found_df['expiry_date'])
|
||||
not_found_df['expiry_date'] = not_found_df['expiry_date'].dt.strftime('%Y-%m-%d')
|
||||
print(not_found_df.to_string())
|
||||
while True: pass
|
||||
|
||||
|
||||
printer("Zerodha instruments loaded.")
|
||||
|
||||
# If there are no symbols or too many symbols, we return with failure:
|
||||
|
||||
Reference in New Issue
Block a user