Files
2023-07-12 14:03:41 +02:00

51 lines
1.2 KiB
Python

from pymongo import MongoClient
from dotenv import load_dotenv
from configparser import ConfigParser
from pathlib import Path
import logging
import os
# load default values
config = ConfigParser()
config.read(Path(__file__).parent / 'defaults.ini')
DB_IP_ADDRESS = config.get('database', 'db_ip_address')
DB_NAME = config.get('database', 'db_name')
DB_COLLECTION_NAME = config.get('database', 'db_collection_name')
def connect(
ip_addr: str = DB_IP_ADDRESS,
db_name: str = DB_NAME,
collection_name: str = DB_COLLECTION_NAME
):
"""
Connect to MongoDB database and return collection.
"""
# load environment variables
load_dotenv()
ip_addr = os.getenv(
'DB_IP_ADDRESS',
default=DB_IP_ADDRESS
)
db_name = os.getenv(
'DB_NAME',
default=DB_NAME
)
collection_name = os.getenv(
'DB_COLLECTION_NAME',
default=DB_COLLECTION_NAME
)
# connect to database
client: MongoClient = MongoClient(ip_addr)
db = client[db_name]
collection = db[collection_name]
logging.debug('finished')
return collection
if __name__ == '__main__':
load_dotenv()
collection = connect()
print(collection)