multithreading and parsing1
This commit is contained in:
24
app/db.py
24
app/db.py
@@ -1,18 +1,30 @@
|
||||
from flask import current_app, g
|
||||
from flask import g
|
||||
from werkzeug.local import LocalProxy
|
||||
from flask_pymongo import PyMongo
|
||||
from pymongo import MongoClient
|
||||
from .config import settings
|
||||
|
||||
|
||||
def connect_db():
|
||||
client = MongoClient(settings["mongodb_uri"])
|
||||
db = client[settings["mongodb_db"]]
|
||||
collection = db[settings["mongodb_collection"]]
|
||||
return collection
|
||||
|
||||
|
||||
def disconnect_db(conn):
|
||||
conn.database.client.close()
|
||||
|
||||
|
||||
def get_db():
|
||||
"""
|
||||
Configuration method to return db instance
|
||||
"""
|
||||
db = getattr(g, "_database", None)
|
||||
collection = getattr(g, "_database", None)
|
||||
|
||||
if db is None:
|
||||
db = g._database = PyMongo(current_app).db
|
||||
if collection is None:
|
||||
collection = g._database = connect_db()
|
||||
|
||||
return db
|
||||
return collection
|
||||
|
||||
|
||||
# Use LocalProxy to read the global db instance with just `db`
|
||||
|
||||
Reference in New Issue
Block a user