Path: blob/master/src/loginmgmt/ZerodhaLogin.py
301 views
import logging1from kiteconnect import KiteConnect23from config.Config import getSystemConfig4from loginmgmt.BaseLogin import BaseLogin56class ZerodhaLogin(BaseLogin):7def __init__(self, brokerAppDetails):8BaseLogin.__init__(self, brokerAppDetails)910def login(self, args):11logging.info('==> ZerodhaLogin .args => %s', args);12systemConfig = getSystemConfig()13brokerHandle = KiteConnect(api_key=self.brokerAppDetails.appKey)14redirectUrl = None15if 'request_token' in args:16requestToken = args['request_token']17logging.info('Zerodha requestToken = %s', requestToken)18session = brokerHandle.generate_session(requestToken, api_secret=self.brokerAppDetails.appSecret)1920accessToken = session['access_token']21accessToken = accessToken22logging.info('Zerodha accessToken = %s', accessToken)23brokerHandle.set_access_token(accessToken)2425logging.info('Zerodha Login successful. accessToken = %s', accessToken)2627# set broker handle and access token to the instance28self.setBrokerHandle(brokerHandle)29self.setAccessToken(accessToken)3031# redirect to home page with query param loggedIn=true32homeUrl = systemConfig['homeUrl'] + '?loggedIn=true'33logging.info('Zerodha Redirecting to home page %s', homeUrl)34redirectUrl = homeUrl35else:36loginUrl = brokerHandle.login_url()37logging.info('Redirecting to zerodha login url = %s', loginUrl)38redirectUrl = loginUrl3940return redirectUrl41424344