class VoiceNoteModel(object):
    COLLECTION = 'voice_notes'

    def __init__(self):
        app.config["MONGO_URI"] = Config.get('MONGO_DATABASE_CONNECTION')
        self.collection = PyMongo(app).db[VoiceNoteModel.COLLECTION]

    def insert(self, data):
        data['created_at'] = datetime.datetime.utcnow()
        data['updated_at'] = datetime.datetime.utcnow()
        self.collection.insert_one(data)

    def get_by_pilot_id(self, pilot_id):
        result = self.collection.find({"pilot_id": pilot_id})
        voice_note_keys = []
        for document in result:
            voice_note_keys.append(document['voice_note_key'])

        return voice_note_keys

    def pilot_has_voice_note(self, pilot_id, voice_note_key):
        result = self.collection.find({"voice_note_key": voice_note_key, "pilot_id": pilot_id})

        return True if result.count() == 1 else False
Beispiel #2
0
import mysqlpython

app = Flask(__name__)

mongo_username = "******"
mongo_password = "******"
metadata_ssh = get_ssh_address('metadata')
logs_ssh = get_ssh_address('logs')
app.secret_key = "secretkey"

try:
    metadata_db = PyMongo(app, uri='mongodb://'+ mongo_username + ':' + mongo_password  + '@'+ metadata_ssh +':27017/myMongodb?authSource=admin').db["new_kindle_metadata"]
    user_db = PyMongo(app, uri='mongodb://'+ mongo_username + ':' + mongo_password  + '@'+ logs_ssh +':27017/myMongodb?authSource=admin').db["user"]
    logs_db = PyMongo(app, uri='mongodb://'+ mongo_username + ':' + mongo_password + '@'+ logs_ssh +':27017/myMongodb?authSource=admin').db["logs_collection"]
    user_db.insert_one({"_id": uuid.uuid4().hex, "name": 'admin', "email": '*****@*****.**', "password": pbkdf2_sha256.encrypt('admin')})

except Exception as e:
    print(e)

try:
    mysql_db = mysqlpython.mysql_review()
except Exception as e:
    print('Unable to connect to MySQL database')
    print(e)

# Routes
import routes

def check_admin():
    if session['user']['email'] == '*****@*****.**':
Beispiel #3
0
class AdminData:
    def __init__(self, app):
        self.db = PyMongo(app, uri=MONGO_URI + USER_DB).db.db
        self.face_db = PyMongo(app, uri=MONGO_URI + FACE_DB).db

        if self.db.count_documents({}) == 0:
            self.db.create_index([('collection', TEXT), ('key', TEXT)], unique=True)

        self.log = logger()

    def get_data(self, data: dict):
        return self.db.find_one(data)

    def get(self):
        results = self.db.find().sort([("collection", ASCENDING)])
        return list(results)

    def search(self, keyword):
        results = self.db.find(
            {"$text": {"$search": keyword}},
            {"score": {"$meta": "textScore"}}
        ).sort([("score", {"$meta": "textScore"})])
        return list(results)

    def create(self, collection: str):
        try:
            key = secrets.token_urlsafe()
            while self.db.find_one({'key': key}):
                key = secrets.token_urlsafe()

            self.db.insert_one({
                'collection': collection,
                'key': key
            })
            return key
        except Exception as ex:
            self.log.exception(ex)
            return ''

    def update(self, collection: str):
        try:
            key = secrets.token_urlsafe()
            while self.db.find_one({'key': key}):
                key = secrets.token_urlsafe()

            self.db.update_one(
                {
                    'collection': collection
                },
                {
                    "$set": {
                        'key': key
                    }
                }
            )
            return key
        except Exception as ex:
            self.log.exception(ex)
            return ''

    def remove(self, collection: str):
        data = {'collection': collection}
        for model in MODELS:
            self.face_db.drop_collection(model + collection)

        self.db.delete_one(data)

        return not self.db.find_one(data)
Beispiel #4
0
class KeyData:
    def __init__(self, app):
        uri = MONGO_URI + KEY_DB
        self.db = PyMongo(app, uri=uri).db.db

        if self.db.count_documents({}) == 0:
            self.db.create_index([('name', TEXT), ('moodle', TEXT),
                                  ('key', TEXT)],
                                 unique=True)

        self.log = logger()

    def get_data(self, moodle: str):
        if moodle[-1] == '/':
            moodle = moodle[:-1]
        return self.db.find_one({'moodle': moodle})

    def get_by_name(self, name: str):
        return self.db.find_one({'name': name})

    def get_by_key(self, key: str):
        return self.db.find_one({'key': key})

    def get(self):
        results = self.db.find().sort([("collection", ASCENDING)])
        return list(results)

    def search(self, keyword):
        results = self.db.find({
            "$text": {
                "$search": keyword
            }
        }, {
            "score": {
                "$meta": "textScore"
            }
        }).sort([("score", {
            "$meta": "textScore"
        })])
        return list(results)

    def create(self, name: str, moodle: str, wstoken: str, key: str):
        try:
            self.db.insert_one({
                'name': name,
                'moodle': moodle,
                'wstoken': wstoken,
                'key': key
            })
            return True
        except Exception as ex:
            self.log.exception(ex)
            return False

    def update(self, name: str, moodle: str, wstoken: str, key: str):
        try:
            self.db.update_one(
                {'name': name},
                {"$set": {
                    'moodle': moodle,
                    'wstoken': wstoken,
                    'key': key
                }})
            return True
        except Exception as ex:
            self.log.exception(ex)
            return True

    def remove(self, name: str):
        data = {'name': name}
        self.db.delete_one(data)

        return not self.db.find_one(data)