Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sreenivasdoosa
GitHub Repository: sreenivasdoosa/sdoosa-algo-trade-python
Path: blob/master/src/core/Controller.py
297 views
1
import logging
2
3
from config.Config import getBrokerAppConfig
4
from models.BrokerAppDetails import BrokerAppDetails
5
from loginmgmt.ZerodhaLogin import ZerodhaLogin
6
7
class Controller:
8
brokerLogin = None # static variable
9
brokerName = None # static variable
10
11
def handleBrokerLogin(args):
12
brokerAppConfig = getBrokerAppConfig()
13
14
brokerAppDetails = BrokerAppDetails(brokerAppConfig['broker'])
15
brokerAppDetails.setClientID(brokerAppConfig['clientID'])
16
brokerAppDetails.setAppKey(brokerAppConfig['appKey'])
17
brokerAppDetails.setAppSecret(brokerAppConfig['appSecret'])
18
19
logging.info('handleBrokerLogin appKey %s', brokerAppDetails.appKey)
20
Controller.brokerName = brokerAppDetails.broker
21
if Controller.brokerName == 'zerodha':
22
Controller.brokerLogin = ZerodhaLogin(brokerAppDetails)
23
# Other brokers - not implemented
24
#elif Controller.brokerName == 'fyers':
25
#Controller.brokerLogin = FyersLogin(brokerAppDetails)
26
27
redirectUrl = Controller.brokerLogin.login(args)
28
return redirectUrl
29
30
def getBrokerLogin():
31
return Controller.brokerLogin
32
33
def getBrokerName():
34
return Controller.brokerName
35
36