forked from app-generator/flask-volt-dashboard
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrun.py
44 lines (37 loc) · 1.08 KB
/
run.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
# -*- encoding: utf-8 -*-
"""
Copyright (c) 2019 - present AppSeed.us
"""
from sys import exit
from app import db, create_app
import config as local_config
from decouple import config
import os
from app.home.models import Workflow
from app.base.models import User
from pyngrok import ngrok
# Load current configuration
FLASK_ENV = config("FLASK_ENV", default="development")
if FLASK_ENV == "development":
app_config = local_config.DevelopmentConfig
elif FLASK_ENV == "staging":
app_config = local_config.StagingConfig
elif FLASK_ENV == "production":
app_config = local_config.ProductionConfig
else:
exit(
"Error: Invalid <config_mode>. "
+ "Expected values [production, staging, development] "
)
# Run the creat config in __init__.py
app = create_app(app_config)
# Start ngrok if configured
if app.config["START_NGROK"]:
url = ngrok.connect(5000)
print(" * Tunnel URL:", url)
# Flask shell session
@app.shell_context_processor
def make_shell_context():
return {"db": db, "User": User, "Workflow": Workflow}
if __name__ == "__main__":
app.run()