def loginZerodha(args): userConfig = getUserConfig() global kite kite = KiteConnect(api_key=userConfig['apiKey']) if 'request_token' in args: requestToken = args['request_token'] print('requestToken = ' + requestToken) session = kite.generate_session(requestToken, api_secret=userConfig['apiSecret']) accessToken = session['access_token'] print('accessToken = ' + accessToken) kite.set_access_token(accessToken) holdings = kite.holdings() print('holdings => ', holdings) return '<p>Login successful. accessToken = ' + accessToken + '</p>' else: loginUrl = kite.login_url() print('login url => ' + loginUrl) return redirect(loginUrl, code=302)
def startTicker(): userConfig = getUserConfig() accessToken = getAccessToken() if accessToken == None: logging.error( 'startTicker: Cannot start ticker as accessToken is empty') return global ticker ticker = KiteTicker(userConfig['apiKey'], accessToken) ticker.on_connect = onConnect ticker.on_close = onDisconnect ticker.on_error = onError ticker.on_reconnect = onReconnect ticker.on_noreconnect = onMaxReconnectsAttempt ticker.on_ticks = onNewTicks ticker.on_order_update = onOrderUpdate logging.info('Ticker: Going to connect..') ticker.connect(threaded=True)
def loginZerodha(args): userConfig = getUserConfig() systemConfig = getSystemConfig() global kite kite = KiteConnect(api_key=userConfig['apiKey']) if 'request_token' in args: requestToken = args['request_token'] logging.info('requestToken = %s', requestToken) session = kite.generate_session(requestToken, api_secret=userConfig['apiSecret']) accessToken = session['access_token'] logging.info('accessToken = %s', accessToken) kite.set_access_token(accessToken) logging.info('Login successful. accessToken = %s', accessToken) # redirect to home page with query param loggedIn=true homeUrl = systemConfig['homeUrl'] + '?loggedIn=true' logging.info('Redirecting to home page %s', homeUrl) return redirect(homeUrl, code=302) else: loginUrl = kite.login_url() logging.info('Redirecting to zerodha login url = %s', loginUrl) return redirect(loginUrl, code=302)
return json.dumps(respData) @app.route('/positions', methods=['GET']) def positions(): kite = getKite() positions = kite.positions() print('getKite positions => ', positions) return json.dumps(positions) @app.route('/holdings', methods=['GET']) def holdings(): kite = getKite() holdings = kite.holdings() print('getKite holdings => ', holdings) return json.dumps(holdings) # Execution starts here initLoggingConfg() serverConfig = getServerConfig() logging.info('serverConfig => %s', serverConfig) userConfig = getUserConfig() logging.info('userConfig => %s', userConfig) port = serverConfig['port'] app.run('localhost', port)