1
Fork 0
mirror of https://github.com/Steffo99/unimore-bda-6.git synced 2024-11-28 18:54:20 +00:00
bda-6-steffo/unimore_bda_6/database/connection.py
Stefano Pigozzi 3abba24ca2
Made good progress
How does text vectorization in tensorflow work?
2023-02-05 17:40:22 +01:00

32 lines
724 B
Python

import pymongo
import contextlib
import typing as t
import logging
from ..config import MONGO_HOST, MONGO_PORT
log = logging.getLogger(__name__)
@contextlib.contextmanager
def mongo_client_from_config() -> t.ContextManager[pymongo.MongoClient]:
"""
Create a new MongoDB client and yield it.
"""
log.debug("Opening connection to MongoDB...")
client: pymongo.MongoClient = pymongo.MongoClient(
host=MONGO_HOST.__wrapped__,
port=MONGO_PORT.__wrapped__,
)
log.info("Opened connection to MongoDB!")
yield client
log.info("Closing connection to MongoDB...")
client.close()
log.debug("Closed connection to MongoDB!")
__all__ = (
"mongo_client_from_config",
)