def create_app(): # Setup flask app flapp = Flask(__name__) flapp.config.from_envvar("SCHEDULR_SETTINGS") # Setup SQLAlchemy engine & Session class flapp.db_engine = create_engine(flapp.config["DB_STRING"]) flapp.db_Session = scoped_session(sessionmaker(bind=flapp.db_engine)) init_app(flapp) # Setup blueprints from app.modules import test_module, auth, setup, home, team flapp.register_blueprint(test_module.bp, url_prefix="/test") flapp.register_blueprint(setup.bp, url_prefix="/setup") flapp.register_blueprint(auth.bp, url_prefix="/auth") flapp.register_blueprint(team.bp, url_prefix="/team") flapp.register_blueprint(home.bp, url_prefix="/") # Setup api from app.modules.api import ( me as api_me, team as api_team, user as api_user, project as api_project, ) flapp.register_blueprint(api_me.bp, url_prefix="/api/me") flapp.register_blueprint(api_team.bp, url_prefix="/api/team") flapp.register_blueprint(api_user.bp, url_prefix="/api/user") flapp.register_blueprint(api_project.bp, url_prefix="/api/project") return flapp
def create_app(test_config=None): app = Flask(__name__, instance_relative_config=True, subdomain_matching=True) ############### ## Setup JWT ## ############### jwt = JWTManager(app) app.jwt = jwt ################ ## Setup CORS ## ################ CORS(app, supports_credentials=True) ################## ## Setup config ## ################## config_dict = get_config() app.config.from_mapping( SECRET_KEY=None if is_prod else 'dev', SERVER_NAME=None if is_prod else config_dict['SERVER_NAME'], SQLALCHEMY_DATABASE_URI=config_dict['SQLALCHEMY_DATABASE_URI'], JWT_SECRET_KEY=config_dict['JWT_SECRET_KEY'], JWT_ACCESS_TOKEN_EXPIRES=timedelta(days=1), JWT_TOKEN_LOCATION=['headers', 'cookies', 'query_string', 'json'], JWT_COOKIE_DOMAIN=config_dict['JWT_COOKIE_DOMAIN'], ) if test_config is None: app.config.from_pyfile('config.py', silent=True) else: app.config.from_mapping(test_config) app.logger.info('Config loaded.') app.logger.info('\tinstance_path: {0}'.format(app.instance_path)) #################### ## Setup database ## #################### db_engine = db.init_app(app) app.db_engine = db_engine app.logger.info('Database connected.') ################### ## Setup routing ## ################### main.init_app(app) app.register_blueprint(main.bp) auth.init_app(app) app.register_blueprint(auth.bp) app.register_blueprint(user.bp) app.register_blueprint(post.bp) return app
def create_app(package_name, package_path, debug=False): """Returns a :class:`Flask` application instance. :param package_name: application package name :param package_path: application package path :param debug: the debug flag """ app = Flask(package_name, instance_relative_config=True) app.config.from_object('mushi.settings') app.config.from_envvar('MUSHI_SETTINGS', silent=True) if debug: app.debug = debug app.db_engine = create_engine(app.config['SQLALCHEMY_DATABASE_URI']) app.teardown_appcontext(remove_db_session) register_blueprints(app, package_name, package_path) return app
def create_app(package_name, package_path, debug=False): """Returns a :class:`Flask` application instance. :param package_name: application package name :param package_path: application package path :param debug: the debug flag """ app = Flask(package_name, instance_relative_config=True) app.config.from_object('trexmo.settings') app.config.from_envvar('TREXMO_SETTINGS', silent=True) if debug: app.debug = debug app.db_engine = create_engine(app.config['SQLALCHEMY_DATABASE_URI']) app.teardown_appcontext(remove_db_session) app.cache = Cache(app, config=app.config) register_blueprints(app, package_name, package_path) return app
import os from flask import Flask from db.connection import db_engine APP = Flask(__name__, static_folder='../statics') if not os.environ.get('ONE_AUTH_ENV'): os.environ['ONE_AUTH_ENV'] = 'development' os.environ[ 'ONE_AUTH_CONFIG_PATH'] = '../config/environments/%s.cfg' % os.environ[ 'ONE_AUTH_ENV'] APP.config.from_envvar('ONE_AUTH_CONFIG_PATH') ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg'} UPLOAD_FOLDER = '../statics/images' APP.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER APP.debug = True APP.db_engine = db_engine( os.environ.get('DB_URL') or APP.config.get('DB_URL'), os.environ.get('DB_USER_NAME') or APP.config.get('DB_USER_NAME'), os.environ.get('DB_PASSWORD') or APP.config.get('DB_PASSWORD'))
from datetime import datetime, timedelta from flask import Flask, g, render_template from pysumpmon import config, services from serial import SerialException, SerialTimeoutException from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from threading import Timer from twilio.exceptions import TwilioException app = Flask('pysumpmon') app.db_engine = create_engine(config.DB_CONNECTION_STRING) app.db_session_factory = sessionmaker(bind=app.db_engine) distance_sensor = services.DistanceSensorService( config.DISTANCE_SENSOR_PORT) def log_distance(): next_log_time = datetime.utcnow() + timedelta(seconds=30) try: db_session = app.db_session_factory() event_suppression = services.EventSuppressionService(db_session) notification_log = services.NotificationLogService(db_session) sump_water_distance = services.SumpWaterDistanceService(db_session) twillio_sms = services.TwilioSMSService( config.TWILLIO_ACCOUNT, config.TWILLIO_TOKEN, config.TWILLIO_NOTIFICATION_FROM, config.TWILLIO_NOTIFICATION_TO)