Exemplo n.º 1
0
def create(app: Flask):
    app.logger.info('[DATABASE] Starting MongoDB...')
    db = MongoEngine()

    db.init_app(app)
    app.logger.info('[DATABASE] MongoDB started on "{}" '
                    '{}.'.format(db.get_db().name, db.get_db().client.address))

    return db
Exemplo n.º 2
0
def get_mongoDB():
    """ this function avoids circular referencing when dealing with MongoEngine, or any other database
        Import this to any module/file/function using mongo: from db.db import get_mongoDB
    """
    if 'db' not in g:

        # connect to mongoEngine and load configuration settings from config.py
        mongo = MongoEngine()
        dbVersion = current_app.config["MONGODB_SETTINGS"]["db"]
        mongo.connect(dbVersion, connect=False)

        # print(vars(g))
        # print(dir(mongo))

        # save database into flask's "g" variable
        g.db = mongo.get_db()

    return g.db
Exemplo n.º 3
0
import pymongo
from pymongo import MongoClient

HOST_NAME = 'localhost'

app = Flask(__name__)
CORS(app)
app.config['MONGODB_SETTINGS'] = {'host': '127.0.0.1', 'db': 'kumi'}

kumi_mongo_client = MongoClient('localhost', 27017)
kumi_db = kumi_mongo_client.kumi
db = MongoEngine()
db.init_app(app)
try:
    db.get_db()
except pymongo.errors.OperationFailure as e:
    print(e)
    sys.exit(-1)

from models.course import course_api
app.register_blueprint(course_api)

app.secret_key = b'\xcc^\x91\xea\x17-\xd0W\x03\xa7\xf8J0\xac8\xc5'  # move to different file later


# Database
def login_required(
    f
):  # call this on any routes that require log in. Todo: make 3 separate versions called Student_Required, Teacher_Required, Admin_Required
    @wraps(f)
Exemplo n.º 4
0
# MongoDB settings
app.config['MONGODB_SETTINGS'] = {
    'alias': 'registry',
    'db': 'registry',
    'host': '0.0.0.0',
    'port': 27017,
    'username': '******',
    'password': '******'
}

# Build db connection with straight mongoengine
# mongo = connect('registry', host='mongodb://*****:*****@0.0.0.0:27017/registry', alias='registry-db')

mongo = MongoEngine(app)
registry = mongo.get_db('registry')
members = registry.member

# Initialize flask-login
login_manager = LoginManager(app)


# Define login and registation forms (for flask-login)
class LoginForm(form.Form):
    name = fields.TextField(validators=[validators.DataRequired()])


class RegistrationForm(form.Form):
    name = fields.TextField(validators=[validators.DataRequired()])

    def validate_login(self, field):