def create_app(): app = Flask(__name__) app.config.from_object(config.Config) register_database(app) register_blueprint(app) register_admin(app) flask_wtf.CsrfProtect(app) return app
SSL decorator """ @wraps(fn) def decorated_view(*args, **kwargs): if app.config.get("SSL"): if request.is_secure: return fn(*args, **kwargs) else: return redirect(request.url.replace("http://", "https://")) return fn(*args, **kwargs) return decorated_view # CSRF Protection csrf_protect = flask_wtf.CsrfProtect(app) # Initialize DB object db = SQLAlchemy(app) # Initialize Bcrypt object for password hashing bcrypt = Bcrypt(app) # Initialize flask mail object for email notifications flask_mail = Mail(app) # Decorator for Token Auth on API Requests from sleepypuppy.admin.admin.models import Administrator def require_appkey(view_function):
from flask import Flask, redirect, render_template, request, url_for from flask_admin import BaseView, Admin, expose from flask_sqlalchemy import SQLAlchemy from flask_admin.contrib import sqla import flask_wtf # Create flask app app = Flask(__name__, template_folder='templates') # Create dummy secrey key so we can use sessions app.config['SECRET_KEY'] = 'PizzaPi3sIsG00d' app.config['CSRF_ENABLED'] = True flask_wtf.CsrfProtect(app) # Create in-memory database app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///sample_db_001.sqlite' app.config['SQLALCHEMY_ECHO'] = True db = SQLAlchemy(app) app.debug = True # Saving the Segments for easy access class SegmentSQL(db.Model): __tablename__ = 'segments' id = db.Column(db.Integer, primary_key=True, autoincrement=True) ip_address = db.Column(db.String(11)) created_on = db.Column(db.DateTime, server_default=db.func.now()) def __str__(self): return self.desc