| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- import os
- from dotenv import load_dotenv
- from apscheduler.jobstores.mongodb import MongoDBJobStore
- from pymongo import MongoClient
- load_dotenv()
- BASE_DIR = os.path.abspath(os.path.dirname(__file__))
- class Config:
- SECRET_KEY = os.getenv('SECRET_KEY', 'my_precious_secret_key')
- DEBUG = False
- class DevelopmentConfig(Config):
- DEBUG = True
- mongo_client = MongoClient(os.getenv('MONGODB_URL_DEV'))
- MONGODB_SETTINGS = {
- "db": os.getenv('db'),
- "username": os.getenv('MONGODB_USERNAME'),
- "password": os.getenv('MONGODB_PASSWORD'),
- "host": os.getenv('MONGODB_HOST'),
- "port": int(os.getenv('MONGODB_PORT_DEV'))
- }
- SCHEDULER_JOBSTORES = {
- 'default': MongoDBJobStore(database=os.getenv('MONGODB_DB'),
- collection='mail_scheduler',
- client=mongo_client)
- }
- SCHEDULER_API_ENABLED = True
- class TestingConfig(Config):
- DEBUG = True
- TESTING = True
- PRESERVE_CONTEXT_ON_EXCEPTION = False
- class ProductionConfig(Config):
- DEBUG = False
- mongo_client = MongoClient(os.getenv('MONGODB_URL'))
- MONGODB_SETTINGS = {
- "db": os.getenv('MONGODB_DB'),
- "username": os.getenv('MONGODB_USERNAME'),
- "password": os.getenv('MONGODB_PASSWORD'),
- "host": os.getenv('MONGODB_HOST'),
- "port": int(os.getenv('MONGODB_PORT'))
- }
- SCHEDULER_JOBSTORES = {
- 'default': MongoDBJobStore(database=os.getenv('MONGODB_DB'),
- collection='mail_scheduler',
- client=mongo_client)
- }
- SCHEDULER_API_ENABLED = True
- config_by_name = dict(
- dev=DevelopmentConfig,
- test=TestingConfig,
- prod=ProductionConfig
- )
- key = Config.SECRET_KEY
|