コード例 #1
0
ファイル: login.py プロジェクト: frodrig3ND/QT_Mongo_DB
 def login(self):
     self._model.set_username(self.usr.text())
     self._model.set_password(self.pwd.text())
     self.connect_to_Mongo()
     print(self._model.get_username())
     print(self.mg)
     try:
         mgd.get_db()
         self.switch_window.emit()
     except Exception as e:
         if e.code == 18:
             QtWidgets.QMessageBox.critical(self, 'Auth Error',
                                            'Could not authorize')
         mgd.disconnect()
コード例 #2
0
def test_connection__should_pass_alias__if_provided(app, config_extension):
    """Make sure a simple connection pass ALIAS setting variable."""
    db = MongoEngine()
    app.config.update(config_extension)

    # Verify no extension for Mongoengine yet created for app
    assert app.extensions == {}
    assert current_mongoengine_instance() is None

    # Create db connection. Should return None.
    assert db.init_app(app) is None

    # Verify db added to Flask extensions.
    assert current_mongoengine_instance() == db

    # Verify db settings passed to pymongo driver.
    # ALIAS is used to find correct connection.
    # As we do not use default alias, default call to mongoengine.get_connection
    # should raise.
    with pytest.raises(ConnectionFailure):
        mongoengine.get_connection()

    connection = mongoengine.get_connection("simple_conn")
    mongo_engine_db = mongoengine.get_db("simple_conn")
    assert isinstance(mongo_engine_db, Database)
    assert isinstance(connection, MongoClient)
    assert mongo_engine_db.name == "flask_mongoengine_test_db"
    assert connection.HOST == "localhost"
    assert connection.PORT == 27017
コード例 #3
0
def __put(f, name):
    fs = GridFS(get_db())
    # 计算文件属性
    extension = os.path.splitext(name)[1].lower()
    mimetype = filelib.mime(f)
    sha1 = filelib.sha1(f)
    md5 = filelib.md5(f)
    arg = {'mimetype': mimetype, 'sha1': sha1, 'md5': md5}
    exist_fs = fs.find_one(arg)
    if exist_fs:
        return FileMeta(file_id=exist_fs._id,
                        length=exist_fs.length,
                        extension=exist_fs.extension,
                        **arg)

    newfile = fs.new_file(content_type=mimetype,
                          name=name,
                          extension=extension,
                          **arg)
    newfile.write(f)
    newfile.close()
    return FileMeta(file_id=newfile._id,
                    length=newfile.length,
                    extension=newfile.extension,
                    **arg)
コード例 #4
0
def connection(config):
    try:
        conn = mongoengine.get_connection()
    except mongoengine.connection.MongoEngineConnectionError:
        conn = mongoengine.connect(**config)
    yield conn
    conn_db = mongoengine.get_db()
    conn.drop_database(conn_db.name)
コード例 #5
0
ファイル: test_models.py プロジェクト: openjw/openself
    def test_fs(self):
        fs = GridFS(get_db(alias="recall-db-alias"))
        # with open('xxx.jpg', 'rb') as fd:
        #     id = fs.put(fd)
        #     print(id)
        b = fs.get(ObjectId("5f39fd75e9974144d72231eb"))
        b2 = fs.find_one({"md5": "c3c1ae262ddd527f0465dfb77a546b73"})

        print(1)
コード例 #6
0
ファイル: shared.py プロジェクト: mikazz/invoice-generator
def init(config_file: Optional[str] = None) -> None:
    """Initialize shared resources"""
    global config

    try:
        config = Configuration.create_from_config_file(config_file)
        try:
            connect(config.mongodb.pop("name", "sales"),
                    **config.mongodb,
                    tz_aware=True)
            get_db().collection_names()
        except PyMongoError as e:
            logger.critical("Failed to connect to MongoDB: %s", str(e))
            raise e
        logger.info("MongoDB connected")

    except Exception as e:
        raise
コード例 #7
0
    def __init__(self):
        # Instead of making another connection to Mongo, we use the one defined
        # in `app.py` extension `MongoSingleton` by calling the `MongoEngine`
        # get_db() which should get the current app context database.
        self.db = get_db('default')

        # We create an index to avoid duplicates
        # TODO(ANDREW): Find the Master Error that occurred today.
        self.db.alloys.create_index([('name', ASCENDING)], unique=True)
コード例 #8
0
def test_indexes(batch_files: List[BatchFile]) -> None:
    explain = get_db().command(
        "aggregate",
        BatchFile._meta["collection"],
        pipeline=BatchFile._get_oldest_and_newest_indexes_pipeline(2),
        explain=True,
    )

    assert (explain["stages"][0]["$cursor"]["queryPlanner"]["winningPlan"]
            ["inputStage"]["stage"] == "IXSCAN")
    # sort should not be executed
    assert len(explain["stages"]) == 3
コード例 #9
0
def test_connection__should_accept_host_as_list(app):
    """Make sure MONGODB_HOST can be a list hosts."""
    db = MongoEngine()
    app.config["MONGODB_SETTINGS"] = {
        "ALIAS": "host_list",
        "HOST": ["localhost:27017"],
        "DB": "flask_mongoengine_list_test_db",
    }
    db.init_app(app)

    connection = mongoengine.get_connection("host_list")
    mongo_engine_db = mongoengine.get_db("host_list")
    assert isinstance(mongo_engine_db, Database)
    assert isinstance(connection, MongoClient)
    assert mongo_engine_db.name == "flask_mongoengine_list_test_db"
    assert connection.HOST == "localhost"
    assert connection.PORT == 27017
コード例 #10
0
def test_ingnored_mongodb_prefix_config(app):
    """Config starting by MONGODB_ but not used by flask-mongoengine
    should be ignored.
    """
    db = MongoEngine()
    app.config[
        "MONGODB_HOST"
    ] = "mongodb://localhost:27017/flask_mongoengine_test_db_prod"
    # Invalid host, should trigger exception if used
    app.config["MONGODB_TEST_HOST"] = "dummy://localhost:27017/test"
    db.init_app(app)

    connection = mongoengine.get_connection()
    mongo_engine_db = mongoengine.get_db()
    assert isinstance(mongo_engine_db, Database)
    assert isinstance(connection, MongoClient)
    assert mongo_engine_db.name == "flask_mongoengine_test_db_prod"
    assert connection.HOST == "localhost"
    assert connection.PORT == 27017
コード例 #11
0
ファイル: test_models.py プロジェクト: openjw/openself
def get2(f: FileStorage):
    fs = GridFS(get_db())
    # 计算文件属性
    mimetype = filelib.mime(f.stream)
    sha1 = filelib.sha1(f.stream)
    md5 = filelib.md5(f.stream)
    arg = {'mimetype': mimetype, 'sha1': sha1, 'md5': md5}
    exist_fs = fs.find_one(arg)
    if exist_fs:
        return exist_fs._id, {
            'mimetype': exist_fs.mimetype,
            'sha1': exist_fs.sha1,
            'md5': exist_fs.md5
        }

    newfile = fs.new_file(content_type=mimetype, **arg)
    newfile.write(f.stream)  # f.stream.read()
    newfile.close()
    return newfile._id, arg
コード例 #12
0
def test_connection__should_use_defaults__if_no_settings_provided(app):
    """Make sure a simple connection to a standalone MongoDB works."""
    db = MongoEngine()

    # Verify no extension for Mongoengine yet created for app
    assert app.extensions == {}
    assert current_mongoengine_instance() is None

    # Create db connection. Should return None.
    assert db.init_app(app) is None

    # Verify db added to Flask extensions.
    assert current_mongoengine_instance() == db

    # Verify db settings passed to pymongo driver.
    # Default mongoengine db is 'default', default Flask-Mongoengine db is 'test'.
    connection = mongoengine.get_connection()
    mongo_engine_db = mongoengine.get_db()
    assert isinstance(mongo_engine_db, Database)
    assert isinstance(connection, MongoClient)
    assert mongo_engine_db.name == "test"
    assert connection.HOST == "localhost"
    assert connection.PORT == 27017
コード例 #13
0
def save_status_to_mongo(status_data=None):
    try:
        mongodb_host = config('MONGODB_HOST')
        mongodb_database = config('MONGODB_DATABASE')
        mongodb_port = config('MONGODB_PORT')
        mongodb_username = config('MONGODB_USERNAME')
        mongodb_password = config('MONGODB_PASSWORD')
        mongodb_auth_database = config('MONGODB_AUTH_DATABASE')
    except UndefinedValueError:
        print('----> ', status_data)
        return

    disconnect()
    connect(mongodb_database,
            host=mongodb_host,
            port=int(mongodb_port),
            username=mongodb_username,
            password=mongodb_password,
            authentication_source=mongodb_auth_database)

    db = get_db()
    coll = db.get_collection('EnrollmentStatusHistory')
    coll.insert_one(status_data)
コード例 #14
0
def test_connection__should_parse_host_uri__if_host_formatted_as_uri(
    app, config_extension
):
    """Make sure a simple connection pass ALIAS setting variable."""
    db = MongoEngine()
    app.config.update(config_extension)

    # Verify no extension for Mongoengine yet created for app
    assert app.extensions == {}
    assert current_mongoengine_instance() is None

    # Create db connection. Should return None.
    assert db.init_app(app) is None

    # Verify db added to Flask extensions.
    assert current_mongoengine_instance() == db

    connection = mongoengine.get_connection()
    mongo_engine_db = mongoengine.get_db()
    assert isinstance(mongo_engine_db, Database)
    assert isinstance(connection, MongoClient)
    assert mongo_engine_db.name == "flask_mongoengine_test_db"
    assert connection.HOST == "localhost"
    assert connection.PORT == 27017
コード例 #15
0
from capture.camera import Camera
from database import mongo_setup
from capture import camera
from database.data import Data
import mongoengine
from matplotlib import pyplot as plt
from utilities.encoder import encode, decode
import globals

if __name__ == '__main__':
    #init db
    mongo_setup.global_init()

    #Take a picture from the webcam
    MyCamera = camera.Camera()
    MyCamera.capture()

    #store web camera pic in database encoded
    NewData = Data()
    NewData.image = encode(MyCamera.getFrame())
    NewData.save()

    #retrieve a img from the database, decode and display
    db = mongoengine.get_db(alias=globals.DB.ALIAS)
    plt.imshow(decode(Data.objects[0].image))
    plt.show()
コード例 #16
0
def get(id):
    if isinstance(id, str):
        id = ObjectId(id)
    return GridFS(get_db()).get(id)
コード例 #17
0
def cleanup_db(sanic: Sanic) -> None:
    managers.exposure_mongo.drop_database(get_db().name)
コード例 #18
0
 def _get_database(self):
     """获取数据库"""
     return mongoengine.get_db()
コード例 #19
0
def database(connection):
    return mongoengine.get_db()
コード例 #20
0
ファイル: mongoengine_bad.py プロジェクト: raulgarciamsft/ql
def get_db_find():
    unsafe_search = request.args['search']
    json_search = json.loads(unsafe_search)

    db = me.get_db()
    return db.movie.find({'name': json_search})
コード例 #21
0
async def cleanup(client: TestClient) -> None:
    managers.analytics_mongo.drop_database(get_db().name)
    await managers.analytics_redis.flushdb()
    pass
コード例 #22
0
ファイル: initDB.py プロジェクト: alxdx/scheduler
            obj["Código"] = obj["Código"].replace(" ", "")
            if obj["HT/HP por Periodo"] == "72/20":
                obj["HT/HP por Periodo"] = 72
            if obj["HT por semana"] == "-" or obj[
                    "HP por semana"] == "-" or obj["HT/HP por semana"] == "-":
                obj["HT por semana"] = -1
                obj["HP por semana"] = -1
                obj["HT/HP por semana"] = -1

            mat = Materia(mat_id=obj["Código"],
                          asignatura=obj["Asignatura"],
                          hrs_periodo=obj["HT/HP por Periodo"],
                          hrs_teoria_sem=obj["HT por semana"],
                          hrs_pract_sem=obj["HP por semana"],
                          hrs_total_sem=obj["HT/HP por semana"],
                          creditos=obj["Creditos"],
                          requeridas=obj["Requisitos"].split(" y "))
            #print("checking {}".format(obj["Código"]))
            if not Materia.objects(mat_id=obj["Código"]):
                mat.save()
                print("saved {}".format(obj["Código"]))
            elems.append(
                SimpleMateria(mat_id=obj["Código"],
                              asignatura=obj["Asignatura"]))
    nn = name.split("/")[2][5:-4]
    print("Checked {}".format(nn))
    if not Plan.objects(carrera=nn):
        Plan(carrera=nn, materias=elems).save()

print(get_db().list_collection_names())
コード例 #23
0
    mongo_uri = (
        f'mongodb://{_username}:{_password}@{_host}:{_port}'
        f'/?authSource=admin'
    )
    client = connect(
        db=_db_name,
        host=mongo_uri,
        alias='default',
        authentication_mechanism='SCRAM-SHA-1'
    )
else:
    init_db(app)
    client = get_connection('default')

# This will get the correct database.
db = get_db('default')
print(f'MongoDB Client: \n{client}\n', file=stderr)
print(f'MongoDB Database: \n{db}\n', file=stderr)

random.seed(100000)
np.random.seed(3000)

# loading global alloy's
print(
    'Seeding global alloys to <{}> database:'.format(db.name), file=sys.stderr
)
with app.app_context():
    json_data = global_alloy_data
    from sim_api.schemas import AlloySchema

    data = AlloySchema(many=True).load(json_data['alloys'])
コード例 #24
0
async def cleanup_db(sanic: Sanic) -> None:
    managers.exposure_mongo.drop_database(get_db().name)
    await managers.otp_redis.flushdb()
    await managers.analytics_redis.flushdb()
コード例 #25
0
import dropbox

from flask import Flask

from config import Config
from saver_class import DropboxSaver, LocalSaver
from mongoengine import connect, get_db

app = Flask(__name__)
app.config.from_object(Config)

connect(app.config['DB_NAME'])
db = get_db()

dbx = dropbox.Dropbox(app.config['DROPBOX_API'])
# obj_saver = DropboxSaver(dbx)

obj_saver = LocalSaver()

from views import *

if __name__ == "__main__":
    app.run()
コード例 #26
0
ファイル: BaseCase.py プロジェクト: Borreguin/API_GC
 def setUp(self):
     assert isinstance(app, Flask)
     self.app = app.test_client()
     self.db = get_db()
コード例 #27
0
def cleanup_db(sanic: Sanic) -> None:
    managers.app_configuration_mongo.drop_database(get_db().name)
コード例 #28
0
ファイル: conftest.py プロジェクト: JimmyE2017/back-end
 def teardown():
     me = get_db()
     db_name = "test"
     for collection in me.client.get_database(
             db_name).list_collection_names():
         me.client.get_database(db_name).drop_collection(collection)
コード例 #29
0
def on_startup():
    connect(host=SETTINGS.MONGO_URI)
    mongoengine.get_db()
    logger.info("Startup flow successful")
コード例 #30
0
 def setUpClass(cls):
     print("Setting up")
     cls.connection = mongoengine.connect(db=DB_NAME, host=DB_HOST)
     cls.db = mongoengine.get_db()