コード例 #1
0
ファイル: __init__.py プロジェクト: felix1m/knowledge-base
def create_app(settings_override=None):
    """Returns the kb dashboard application instance"""
    app = factory.create_app(__name__, __path__, settings_override)
    # Init assets
    assets.init_app(app)
    # csrf.init_app(app)
    setup_admin(app)

    app.json_encoder = JSONEncoder

    # Register custom error handlers
    if not app.debug:
        for e in [500, 404]:
            app.errorhandler(e)(handle_error)
    app.errorhandler(KBError)(on_kb_error)
    app.errorhandler(KBFormError)(on_kb_form_error)

    return app
コード例 #2
0
from utils import APIException, generate_sitemap
from admin import setup_admin
from models import db, User, Personajes, Planetas, Favoritos
import datetime
from werkzeug.security import generate_password_hash, check_password_hash
from flask_jwt_extended import JWTManager, create_access_token, jwt_required, get_jwt_identity
#from models import Person

app = Flask(__name__)
app.url_map.strict_slashes = False
app.config['SQLALCHEMY_DATABASE_URI'] = os.environ.get('DB_CONNECTION_STRING')
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
MIGRATE = Migrate(app, db)
db.init_app(app)
CORS(app)
setup_admin(app)
jwt = JWTManager(app)


# Handle/serialize errors like a JSON object
@app.errorhandler(APIException)
def handle_invalid_usage(error):
    return jsonify(error.to_dict()), error.status_code


# generate sitemap with all your endpoints
@app.route('/')
def sitemap():
    return generate_sitemap(app)

コード例 #3
0
class MyModelView(ModelView):
    def is_accessible(self):
        user = User.query.get(1)
        # print(user.is_active())
        return user.active


app = Flask(__name__)
app.url_map.strict_slashes = False
app.config['SQLALCHEMY_DATABASE_URI'] = os.environ.get('DB_CONNECTION_STRING')
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
app.config.from_mapping(CLOUDINARY_URL=os.environ.get('CLOUDINARY_URL'))
MIGRATE = Migrate(app, db)
db.init_app(app)
CORS(app)
setup_admin(app, MyModelView)
login = LoginManager(app)
# login.init_app(app)


@login.user_loader
def load_user(user_id):
    return User.query.get(user_id)


# Handle/serialize errors like a JSON object
@app.errorhandler(APIException)
def handle_invalid_usage(error):
    return jsonify(error.to_dict()), error.status_code

コード例 #4
0
    if db_user.email != email:
        return jsonify({
            "status": "failed",
            "msj": "Email does not match"
        }), 400

    if not check_password_hash(db_user.password, passw):
        return jsonify({"status": "failed", "msj": "Password is invalid"}), 401

    #crear token
    expiration = datetime.timedelta(
        days=3)  #Se especifica el tiempo que ese token estará activo
    token = create_access_token(
        identity=db_user.user_name, expires_delta=expiration
    )  #se especifica a quien se le va a asignar el toque y el tiempo de expiración

    data = {
        "status": "success",
        "user": db_user.serialize_users(),
        "token": token,
        "expires": expiration.total_seconds() *
        1000  #se pasa a segundos y se multiplica por mil, pq se debe entregar en milisegundos al browser
    }

    return jsonify(data), 200


setup_admin(app)  #Se llama a admin

if __name__ == "__main__":
    app.run(debug=True)
コード例 #5
0
#JWT-SECURITY
from flask_jwt_extended import JWTManager, create_access_token, jwt_required, get_jwt_identity
import datetime

app = Flask(__name__)  #Creo nueva instancia del servidor Flask
app.url_map.strict_slashes = False  #DUDA: Que significa?
app.config['SQLALCHEMY_DATABASE_URI'] = os.environ.get(
    'DB_CONNECTION_STRING'
)  #Para conectarme a la DB, arcivo env.example crea el enlace.
app.config[
    'SQLALCHEMY_TRACK_MODIFICATIONS'] = False  #Cuando yo hago modificaciones en models.py, va a crear la migracion de la DB. DUDA: Conectada a pipenv run migrate?
MIGRATE = Migrate(app, db)  #Se lleva a cabo la migracion.
db.init_app(app)  #Se inicializa la app.
CORS(app)  #DUDA: CROSS ORIGIN RESOURCE SHARING. No se que putas??
setup_admin(app)  #DUDA: Maneja la funcionalidad de la app por medio de flask.

#Set up the FLASK-JWT-Extended extension
app.config["JWT_SECRET_KEY"] = os.environ.get(
    'JWT_SECRET_KEY'
)  #Esta app es la de la linea 17. JWT_SECRET_KEY es una variable de entorno que se guarda en el .env file, para leerla utilizo
jwt = JWTManager(app)


# Handle/serialize errors like a JSON object
@app.errorhandler(
    APIException
)  #Ayuda a que los errores se vean mas bonitos en forma de JSON (linea 25-27)
def handle_invalid_usage(error):
    return jsonify(error.to_dict()), error.status_code
コード例 #6
0
#!/usr/bin/env python
# -*- coding:utf-8 -*-

from app import app
from database import db
from models import Note, Author
from admin import setup_admin
from rest import setup_api

# Auth and Admin stuff
auth, admin = setup_admin()
api = setup_api(auth)

def setup_tables():
    auth.User.create_table(fail_silently=True)
    Note.create_table(fail_silently=True)
    Author.create_table(fail_silently=True)

if __name__ == '__main__':
    setup_tables()
    import views
    import feed
    app.run(host="0.0.0.0", port=8011)
コード例 #7
0
ファイル: __init__.py プロジェクト: carbonblack/cb-2fa-login
# load our blueprints:
app.register_blueprint(idp_component)

# Setup Flask-Security
lm = LoginManager(app)
lm.login_view = 'idp.login'


@lm.user_loader
def load_user(user_id):
    """User loader callback for Flask-Login."""
    return User.query.get(int(user_id))


db.init_app(app)
admin = setup_admin(app, db)


@app.before_first_request
def initialize_self():
    load_all_metadata()


# Create a user to test with
def create_base_data(u):
    with app.app_context():
        db.drop_all()
        db.create_all()

        r = Role(name='admin', description='Superuser')
        u.roles.append(r)
コード例 #8
0
ファイル: __init__.py プロジェクト: carbonblack/cb-2fa-login
app.config['WTF_CSRF_ENABLED'] = True

# load our blueprints:
app.register_blueprint(idp_component)

# Setup Flask-Security
lm = LoginManager(app)
lm.login_view = 'idp.login'

@lm.user_loader
def load_user(user_id):
    """User loader callback for Flask-Login."""
    return User.query.get(int(user_id))

db.init_app(app)
admin = setup_admin(app, db)

@app.before_first_request
def initialize_self():
    load_all_metadata()

# Create a user to test with
def create_base_data(u):
    with app.app_context():
        db.drop_all()
        db.create_all()

        r = Role(name='admin', description='Superuser')
        u.roles.append(r)

        db.session.add(r)
コード例 #9
0
#!/usr/bin/env python3
# -*- coding:utf-8 -*-

from app import app
from database import db
from models import *
from admin import setup_admin
from rest import setup_api

auth, admin = setup_admin()
api = setup_api(auth)


def setup_tables():
    auth.User.create_table(fail_silently=True)
    Photo.create_table(fail_silently=True)
    global admin
    admin = auth.User(username='******',
                      email='*****@*****.**',
                      admin=True,
                      active=True)
    admin.set_password('admin')
    admin.save()


if __name__ == "__main__":
    setup_tables()
    import views
    print(app.url_map)
    app.run()