Пример #1
0
def create_app(instance_path=None, testing_config=None):
    app = flask.Flask(__name__,
                      instance_path=instance_path,
                      instance_relative_config=True)
    app.config.update(default_config)
    if testing_config:
        app.config.update(testing_config)
    else:
        app.config.from_pyfile("settings.py", silent=True)

    # set up users sqlalchemy database
    if testing_config:
        users_uri = ''.join([app.config['DATABASE_URI'],
                             app.config['DATABASE_URI_NAME']])
    else:
        users_uri = ''.join([app.config['DATABASE_URI'], instance_path,
                             app.config['DATABASE_URI_NAME']])

    engine = create_engine(users_uri)
    session_factory.configure(autocommit=False, autoflush=False, bind=engine)
    Base.metadata.bind = engine

    # initialize blueprints
    goals.initialize_app(app)
    targets.initialize_app(app)
    indicators.initialize_app(app)
    objectives.initialize_app(app)
    actions.initialize_app(app)
    eu_strategy.initialize_app(app)
    auth.initialize_app(app)

    mongo.init_app(app)
    sentry.init_app(app)
    oid.init_app(app)
    babel.init_app(app)
    babel.locale_selector_func = sugar.get_session_language

    Markdown(app)

    @app.route('/ping')
    def ping():
        return "nbsap is okay"

    @app.route('/crashme')
    def crashme():
        raise ValueError("Crashing, as requested.")

    @app.before_request
    def before_request():
        flask.g.user = None
        if 'openid' in flask.session:
            flask.g.user = User.query.filter_by(openid=flask.session
                                                ['openid']).first()

    @app.after_request
    def after_request(response):
        db_session.remove()
        return response

    return app
Пример #2
0
def create_app():
    app = Flask(__name__)
    environment_config = Config.for_actual_environment()

    app.config.from_object(environment_config)
    mongo.init_app(app)
    set_up_sentry(environment_config)
    register_endpoints(app)
    return app
Пример #3
0
def create_app(mongo_uri, debug=False, testing=False):
    app = Flask(__name__)
    app.config['DEBUG'] = debug
    app.config['TESTING'] = testing
    app.config['WTF_CSRF_ENABLED'] = not testing
    app.config['MONGO_URI'] = mongo_uri
    app.secret_key = os.environ.get('SECRET_KEY', 'clef pour les tests')
    Babel(default_locale='fr').init_app(app)
    Gravatar().init_app(app)
    mongo.init_app(app)
    login_manager.init_app(app)
    bcrypt.init_app(app)

    app.register_blueprint(auth)
    app.register_blueprint(bookmarks)
    app.register_blueprint(tools, url_prefix='/tools')
    app.register_blueprint(profil, url_prefix='/profil')

    @app.before_first_request
    def create_mongo_index():
        mongo.db.bookmarks.ensure_index('published', pymongo.DESCENDING, background=True)
        mongo.db.bookmarks.ensure_index('user._id', pymongo.DESCENDING, background=True)
        mongo.db.bookmarks.ensure_index('title', pymongo.ASCENDING, background=True)
        mongo.db.bookmarks.ensure_index('description', background=True)
        mongo.db.bookmarks.ensure_index('tags', pymongo.ASCENDING, background=True)
        mongo.db.bookmarks.ensure_index([('user._id', pymongo.ASCENDING), ('url', pymongo.ASCENDING)], background=True, unique=True)

        mongo.db.users.ensure_index('email', pymongo.ASCENDING, background=True, unique=True)
        mongo.db.users.ensure_index('nickname', pymongo.ASCENDING, background=True, unique=True)


    @environmentfilter
    def group_by_humanize_date(environment, value, attribute):
        sorted_collections = sorted(value, key=make_attrgetter(environment, attribute))
        return map(_GroupTuple, groupby(sorted_collections, _make_attr_getter_for_date(environment, attribute)))
    app.jinja_env.filters['group_by_humanize_date'] = group_by_humanize_date

    @app.template_filter()
    def group_by_first_letter(array_of_string):
        return groupby(array_of_string, key=operator.itemgetter(0))

    def _make_attr_getter_for_date(environment, attribute):
        def callback(x):
            return arrow.get(environment.getitem(x, attribute)).humanize(locale='FR_fr')

        return callback

    return app
def create_app(configfile=None):
    """
    Application Factory - see http://flask.pocoo.org/docs/patterns/appfactories/
    """

    app = Flask(__name__)

    # init database
    mongo.init_app(app)

    # Load blueprints
    # http://flask.pocoo.org/docs/0.12/blueprints/

    app.register_blueprint(directory, url_prefix='/directory')
    app.register_blueprint(frontend)

    return app
Пример #5
0
from dotenv import load_dotenv
from datetime import datetime

from flask_pymongo import PyMongo
from flask import Flask, jsonify, request, abort
from flask_bcrypt import Bcrypt

from database import mongo
from routes.subjects import subjects
from routes.tasks import tasks
from routes.auth import auth
from flask_jwt_extended import JWTManager

app = Flask(__name__)
load_dotenv('.env')
app.config["MONGO_URI"] = os.environ.get('ATLAS_URL')
app.config["JWT_SECRET_KEY"] = os.environ.get('JWT_SECRET_KEY')

mongo.init_app(app)
bcrypt = Bcrypt(app)
jwt = JWTManager(app)

app.register_blueprint(subjects)
app.register_blueprint(tasks)
app.register_blueprint(auth)


@app.route('/api/v1', methods=['GET'])
def hello_world():
    return "hello world"
Пример #6
0
import json, string, random

from flask import Flask, render_template, session, g

import utils
from blueprints.auth import auth
from database import mongo

uri = 'mongodb+srv://rootUser:[email protected]/timeDB?retryWrites=true&w=majority'

app = Flask(__name__)
app.register_blueprint(auth)
app.secret_key = str(''.join(random.choice(string.ascii_letters)) for i in range(20))

mongo.init_app(app, uri=uri)
usersDB = mongo.db.users
timesDB = mongo.db.times


@app.before_request
def load_user():
    if '_id' in session:
        g.user = {'_id': session['_id'], 'username': session['username'], 'status': session['status']}
    if 'start' in session:
        g.user['start'] = session['start']
        g.user['end'] = session['end']
        g.user['hours'] = session['hours']


@app.route('/home')
def home():
Пример #7
0
from flask import Flask, request, jsonify, session
import bcrypt
import json
from bson.objectid import ObjectId
from database import mongo
import os

app = Flask("__name__")

#database config starts

app.config["MONGO_DBNAME"]= <Enter your db name here>
app.config["MONGO_URI"]= <Enter your mongo URI here>

mongo.init_app(app)

#database config ends

#user usecases start

from user_side import user_side
app.register_blueprint(user_side)

#user usecases ends


#police usecases starts

from police_side import police_side
app.register_blueprint(police_side)
Пример #8
0
app = Flask(__name__)

# App configurations here!
app.config['MONGO_DBNAME'] = 'students_connect'
app.config['MONGO_URI'] = 'mongodb://127.0.0.1:27017/students_connect'
app.config['MAIL_SERVER'] = 'smtp.gmail.com'
app.config['MAIL_PORT'] = 465
app.config['MAIL_USE_SSL'] = True
app.config['MAIL_USERNAME'] = '******'
app.config['MAIL_PASSWORD'] = '******'

# App initializations here!
mail = Mail(app)
jwt = JWTManager(app)  # JWT
mongo.init_app(app)  # Mongo

#BLUE PRINTS
from attendance import attendance
from repository import repository
app.register_blueprint(attendance.app, url_prefix='/attendance')
app.register_blueprint(repository.app, url_prefix='/repository')

ALLOWED_EXTENSIONS = {'txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'}


def allowed_file(filename):
    return '.' in filename and \
           filename.rsplit('.', 1)[1].lower() in ALLOWED_EXTENSIONS

Пример #9
0
def create_app(mongo_uri, debug=False, testing=False):
    app = Flask(__name__)
    app.config['DEBUG'] = debug
    app.config['TESTING'] = testing
    app.config['WTF_CSRF_ENABLED'] = not testing
    app.config['MONGO_URI'] = mongo_uri
    app.secret_key = os.environ.get('SECRET_KEY', 'clef pour les tests')
    Babel(default_locale='fr').init_app(app)
    Gravatar().init_app(app)
    mongo.init_app(app)
    login_manager.init_app(app)
    bcrypt.init_app(app)

    app.register_blueprint(auth)
    app.register_blueprint(bookmarks)
    app.register_blueprint(tools, url_prefix='/tools')
    app.register_blueprint(profil, url_prefix='/profil')

    @app.before_first_request
    def create_mongo_index():
        mongo.db.bookmarks.ensure_index('published',
                                        pymongo.DESCENDING,
                                        background=True)
        mongo.db.bookmarks.ensure_index('user._id',
                                        pymongo.DESCENDING,
                                        background=True)
        mongo.db.bookmarks.ensure_index('title',
                                        pymongo.ASCENDING,
                                        background=True)
        mongo.db.bookmarks.ensure_index('description', background=True)
        mongo.db.bookmarks.ensure_index('tags',
                                        pymongo.ASCENDING,
                                        background=True)
        mongo.db.bookmarks.ensure_index([('user._id', pymongo.ASCENDING),
                                         ('url', pymongo.ASCENDING)],
                                        background=True,
                                        unique=True)

        mongo.db.users.ensure_index('email',
                                    pymongo.ASCENDING,
                                    background=True,
                                    unique=True)
        mongo.db.users.ensure_index('nickname',
                                    pymongo.ASCENDING,
                                    background=True,
                                    unique=True)

    @environmentfilter
    def group_by_humanize_date(environment, value, attribute):
        sorted_collections = sorted(value,
                                    key=make_attrgetter(
                                        environment, attribute))
        return map(
            _GroupTuple,
            groupby(sorted_collections,
                    _make_attr_getter_for_date(environment, attribute)))

    app.jinja_env.filters['group_by_humanize_date'] = group_by_humanize_date

    @app.template_filter()
    def group_by_first_letter(array_of_string):
        return groupby(array_of_string, key=operator.itemgetter(0))

    def _make_attr_getter_for_date(environment, attribute):
        def callback(x):
            return arrow.get(environment.getitem(
                x, attribute)).humanize(locale='FR_fr')

        return callback

    return app
Пример #10
0
from main import app as application
from database import mongo

application.config.from_object('config.Production')
mongo.init_app(application) # initialize here!
Пример #11
0
from main import app
from database import mongo

app.config.from_object('config.Testing')
mongo.init_app(app)  # initialize here!
Пример #12
0
from main import app
from database import mongo

app.config.from_object('config.Testing')
mongo.init_app(app) # initialize here!
Пример #13
0
from main import app as application
from database import mongo

application.config.from_object('config.Production')
mongo.init_app(application)  # initialize here!
Пример #14
0
from flask import Flask, render_template
from database import mongo

class IFApp(Flask):
    pass

app = IFApp(__name__)
app.config.from_pyfile('config.py')

mongo.init_app(app)

from blueprints import interface, home
app.register_blueprint(interface, url_prefix='/interface')
app.register_blueprint(home, url_prefix='/')


def seed_database():
    from blueprints.interface.models import User, Stub, ClassStub, FunctionStub
    from time import time
    with app.app_context():
        mongo.db.drop_collection(User.__clct_name__)
        mongo.db.drop_collection(Stub.__clct_name__)
        u = User(username='******',
                 password='******',
                 email='*****@*****.**')
        clsstub = ClassStub(created_by='kj',
                            time=time(),
                            name='test_class',
                            inherited_from='e',
                            metaclass='IFModel',
                            package='interfacade.utils',