Make app object easily accessible from gunicorn
This commit is contained in:
parent
9c1aa9d346
commit
6e25af03c4
|
@ -5,37 +5,35 @@ from os import environ
|
|||
from flask import Flask
|
||||
from . import twitch
|
||||
|
||||
|
||||
# Setup logging
|
||||
debug = environ.get("FLASK_ENV", "production") == "development"
|
||||
logger = logging.getLogger(__name__)
|
||||
blueprints = {
|
||||
"twitch": twitch,
|
||||
}
|
||||
level = logging.DEBUG if debug else logging.INFO
|
||||
logging.basicConfig(level=level)
|
||||
|
||||
# Read configuration
|
||||
config_path = environ.get("FEEDLEWARE_CONFIG")
|
||||
|
||||
def create_app():
|
||||
"""Read the app configuration and instantiate service blueprints."""
|
||||
debug = environ.get("FLASK_ENV", "production") == "development"
|
||||
level = logging.DEBUG if debug else logging.INFO
|
||||
logging.basicConfig(level=level)
|
||||
|
||||
config_path = environ.get("FEEDLEWARE_CONFIG")
|
||||
|
||||
if not config_path:
|
||||
if not config_path:
|
||||
print(
|
||||
"Please set the FEEDLEWARE_CONFIG environment variable",
|
||||
file=sys.stderr,
|
||||
)
|
||||
sys.exit(1)
|
||||
|
||||
config = configparser.ConfigParser()
|
||||
config.read(config_path)
|
||||
app = Flask(__name__)
|
||||
config = configparser.ConfigParser()
|
||||
config.read(config_path)
|
||||
|
||||
for section in config.sections():
|
||||
# Instantiate app and attach blueprints
|
||||
app = Flask(__name__)
|
||||
|
||||
blueprints = {
|
||||
"twitch": twitch,
|
||||
}
|
||||
|
||||
for section in config.sections():
|
||||
if section in blueprints:
|
||||
blueprint = blueprints[section].create_blueprint(config[section])
|
||||
app.register_blueprint(blueprint, url_prefix="/" + section)
|
||||
else:
|
||||
logger.warning("Unknown service '%s'", section)
|
||||
|
||||
return app
|
||||
|
|
Loading…
Reference in New Issue