def create_app(config_filename=None): app = Flask(__name__) app.config.from_pyfile(config_filename or 'config.py') if 'CERTIFICATOR_SETTINGS' in os.environ: # Only try to load a config from it if set. app.config.from_envvar('CERTIFICATOR_SETTINGS') from .db import get_user_by_id, get_user login_manager = LoginManager() login_manager.user_loader(get_user_by_id) login_manager.init_app(app) browser_id = BrowserID() browser_id.user_loader(get_user) browser_id.init_app(app) Bootstrap(app) from .db import db as sqla sqla.init_app(app) sqla.app = app sqla.create_all() import stripe stripe.api_key = app.config['STRIPE_SECRET_KEY'] from .views import root, quiz, dashboard, certificate app.register_blueprint(root) app.register_blueprint(quiz) app.register_blueprint(dashboard) app.register_blueprint(certificate) return app
app.version = "0.1a" # Secret key can change with each new version this forces all old logins to expire :) app.config['SECRET_KEY'] = '\xad\xdb\xe9o\x84\x03S\xa93\xc2X\x0ejlq\xad\xcd1\xb0Ub' # Import here so database it can reach the app object. from database.login import get_user, get_user_by_id # Set up the authentication realm login_manager = LoginManager() # Point it to the function that retrieves active users login_manager.user_loader(get_user_by_id) login_manager.init_app(app) # Now the actual login system browser_id = BrowserID() browser_id.user_loader(get_user) browser_id.init_app(app) @app.route("/servertime") def time_at_server(): """Generic default testy route. Handy for debugging.""" return time.asctime() @app.route("/persona/test") def index(): """Obsolete test for persona login.""" return render_template("loginTest.html") # Import application views here! import views.index import views.favicon
def get_admin(kwargs): try: admin = AdministratorModel.query.filter_by(email=kwargs['email']).first() return admin except NoResultFound: return None app = Flask(__name__) app.config['SECRET_KEY'] = "deterministic" login_manager = LoginManager() login_manager.user_loader(get_admin_by_id) login_manager.init_app(app) browser_id = BrowserID() browser_id.user_loader(get_admin) browser_id.redirect_url = 'admin' browser_id.init_app(app) @app.route('/init') def first_run(): import first_run first_run.init() return redirect(url_for("index")) @app.route('/addCategory', methods=['GET', 'POST']) def add_category(): # categories = category_controller.list() # category = CategoryModel(request.form['name']) category_controller.create( name=request.form['name']
def load_user_by_browserid(browserid_data): from yelandur.models import User return User.get_or_create_by_email(browserid_data.get('email')) # Create the actual blueprint auth = Blueprint('auth', __name__) # Create the login manager login_manager = LoginManager() login_manager.user_loader(load_user_by_user_id) # Create the BrowserID manager browser_id = BrowserID() browser_id.user_loader(load_user_by_browserid) # Add the after-request CORS-adding function browser_id.views.after_request(add_cors_headers) @cors() def debug_login(): from yelandur.models import User try: user_id = request.args['id'] u = User.get(user_id) if not u: abort(404) login_user(u) return "Logged '{}' in".format(user_id)
# Secret key can change with each new version this forces all old logins to expire :) app.config[ 'SECRET_KEY'] = '\xad\xdb\xe9o\x84\x03S\xa93\xc2X\x0ejlq\xad\xcd1\xb0Ub' # Import here so database it can reach the app object. from database.login import get_user, get_user_by_id # Set up the authentication realm login_manager = LoginManager() # Point it to the function that retrieves active users login_manager.user_loader(get_user_by_id) login_manager.init_app(app) # Now the actual login system browser_id = BrowserID() browser_id.user_loader(get_user) browser_id.init_app(app) @app.route("/servertime") def time_at_server(): """Generic default testy route. Handy for debugging.""" return time.asctime() @app.route("/persona/test") def index(): """Obsolete test for persona login.""" return render_template("loginTest.html")
def get_admin(kwargs): try: admin = AdministratorModel.query.filter_by(email=kwargs['email']).first() return admin except NoResultFound: return None app = Flask(__name__) app.config['SECRET_KEY'] = "deterministic" login_manager = LoginManager() login_manager.user_loader(get_admin_by_id) login_manager.init_app(app) browser_id = BrowserID() browser_id.user_loader(get_admin) browser_id.redirect_url = 'admin' browser_id.init_app(app) @app.route('/init') def first_run(): import first_run first_run.init() return redirect(url_for("index")) @app.route('/addCategory', methods=['GET', 'POST']) def add_category(): # categories = category_controller.list() # category = CategoryModel(request.form['name']) try: category_controller.create(
#from formencode import Invalid from grano.core import app from grano.model import User from grano.views.sessions import blueprint as sessions from grano.views.users import blueprint as users from grano.views.projects import blueprint as projects login_manager = LoginManager() login_manager.user_loader(User.by_email) login_manager.init_app(app) browser_id = BrowserID() browser_id.user_loader(User.from_browserid) browser_id.init_app(app) app.register_blueprint(sessions, url_prefix='/api/1') app.register_blueprint(users, url_prefix='/api/1') app.register_blueprint(projects, url_prefix='/api/1') def angular_templates(): #if app.config.get('ASSETS_DEBUG'): # return partials_dir = os.path.join(app.static_folder, 'templates') for (root, dirs, files) in os.walk(partials_dir): for file_name in files: file_path = os.path.join(root, file_name) with open(file_path, 'rb') as fh:
from flask.ext.misaka import Misaka from flask_mail import Mail from application import config, models app = Flask(__name__) app.config.from_object(config) app.config.from_pyfile('../config.py', silent=True) app.config.from_envvar('NARCRO_CONFIG', silent=True) models.bind(app) db = models.db from application.session import SQLSession app.session_interface = SQLSession() login_manager = LoginManager() login_manager.user_loader(models.get_user_by_id) login_manager.init_app(app) browser_id = BrowserID() browser_id.user_loader(models.get_user_from_browserid) browser_id.init_app(app) Misaka(app, fenced_code=True, html=True, strikethrough=True, superscript=True, tables=True, toc=True, xhtml=False, intra_emphasis=False) mail = Mail(app) import application.hooks import application.routes
@app.route("/checkdomain/<string:domain>") def checkdomain(domain): return jsonify({"valid": check_domain_available(domain)}) # default fallback @app.route("/<string:template>") def show_template(template): return render_template(template + '.html') #### APP CONFIGURATION ## Database teardown @app.teardown_appcontext def shutdown_session(exception=None): db_session.remove() # This should go into a config file app.secret_key = config.SESSION_SECRET app.add_url_rule("/", endpoint='/', redirect_to="/packages") # Add Login Management login_manager = LoginManager() login_manager.user_loader(get_user_by_id) login_manager.init_app(app) browser_id = BrowserID() browser_id.user_loader(get_user_from_browserid) browser_id.init_app(app)