Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sreenivasdoosa
GitHub Repository: sreenivasdoosa/sdoosa-algo-trade-python
Path: blob/master/src/main.py
296 views
1
import os
2
import logging
3
from flask import Flask
4
5
from config.Config import getBrokerAppConfig, getServerConfig, getSystemConfig
6
from restapis.HomeAPI import HomeAPI
7
from restapis.BrokerLoginAPI import BrokerLoginAPI
8
from restapis.StartAlgoAPI import StartAlgoAPI
9
from restapis.PositionsAPI import PositionsAPI
10
from restapis.HoldingsAPI import HoldingsAPI
11
12
app = Flask(__name__)
13
app.config['DEBUG'] = True
14
15
app.add_url_rule("/", view_func=HomeAPI.as_view("home_api"))
16
app.add_url_rule("/apis/broker/login/zerodha", view_func=BrokerLoginAPI.as_view("broker_login_api"))
17
app.add_url_rule("/apis/algo/start", view_func=StartAlgoAPI.as_view("start_algo_api"))
18
app.add_url_rule("/positions", view_func=PositionsAPI.as_view("positions_api"))
19
app.add_url_rule("/holdings", view_func=HoldingsAPI.as_view("holdings_api"))
20
21
def initLoggingConfg(filepath):
22
format = "%(asctime)s: %(message)s"
23
logging.basicConfig(filename=filepath, format=format, level=logging.INFO, datefmt="%Y-%m-%d %H:%M:%S")
24
25
# Execution starts here
26
serverConfig = getServerConfig()
27
28
deployDir = serverConfig['deployDir']
29
if os.path.exists(deployDir) == False:
30
print("Deploy Directory " + deployDir + " does not exist. Exiting the app.")
31
exit(-1)
32
33
logFileDir = serverConfig['logFileDir']
34
if os.path.exists(logFileDir) == False:
35
print("LogFile Directory " + logFileDir + " does not exist. Exiting the app.")
36
exit(-1)
37
38
print("Deploy Directory = " + deployDir)
39
print("LogFile Directory = " + logFileDir)
40
initLoggingConfg(logFileDir + "/app.log")
41
42
logging.info('serverConfig => %s', serverConfig)
43
44
brokerAppConfig = getBrokerAppConfig()
45
logging.info('brokerAppConfig => %s', brokerAppConfig)
46
47
port = serverConfig['port']
48
49
app.run('localhost', port)
50