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
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'] == '*****@*****.**':
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)
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)