-
Notifications
You must be signed in to change notification settings - Fork 1
/
app.py
49 lines (37 loc) · 1.27 KB
/
app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import sys, getopt
from flask import Flask
from flask.ext import restful
from springpython.context import ApplicationContext
from springpython.config import YamlConfig
from config import routing
app = Flask(__name__)
api = restful.Api(app)
container = ApplicationContext(YamlConfig("./config/app-context.yml"))
routing.registerRoutes(api, container)
def main(argv):
try:
opts, args = getopt.getopt(argv, "h:p:e:", ["host=", "port=", "env="])
except getopt.GetoptError:
print 'app.py [-h <host=0.0.0.0>] [-p <port=5000>] [-e <env=prod|dev>]'
sys.exit(2)
server_options = {
'host': "0.0.0.0",
'port': 5000,
'env': "prod",
'debug': False
}
for opt, arg in opts:
if opt in ("-h", "--host"):
server_options['host'] = arg
elif opt in ("-p", "--port"):
server_options['port'] = int(arg)
elif opt in ("-e", "--env"):
server_options['env'] = arg
server_options['debug'] = server_options['env'].lower() == 'dev'
app.run(
host=server_options['host'],
port=server_options['port'],
debug=server_options['debug']
)
if __name__ == "__main__":
main(sys.argv[1:])