import logging import os import stripe from flask import Flask from flask.ext.principal import Principal from flask.ext.login import LoginManager from flask.ext.mail import Mail from config import ProductionConfig, DebugConfig, LocalHostedConfig from util import analytics app = Flask(__name__) logger = logging.getLogger(__name__) stack = os.environ.get('STACK', '').strip().lower() if stack.startswith('prod'): logger.info('Running with production config.') config = ProductionConfig() elif stack.startswith('localhosted'): logger.info('Running with debug config on production data.') config = LocalHostedConfig() else: logger.info('Running with debug config.') config = DebugConfig() app.config.from_object(config) Principal(app, use_sessions=True) login_manager = LoginManager() login_manager.init_app(app) mail = Mail() mail.init_app(app) stripe.api_key = app.config['STRIPE_SECRET_KEY'] mixpanel = analytics.init_app(app)