config.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import os
  2. from dotenv import load_dotenv
  3. from apscheduler.jobstores.mongodb import MongoDBJobStore
  4. from pymongo import MongoClient
  5. load_dotenv()
  6. BASE_DIR = os.path.abspath(os.path.dirname(__file__))
  7. mongo_client = MongoClient(
  8. 'mongodb://mailScheduler:pqowieuryt@192.168.100.5:27117/Medidores')
  9. class Config:
  10. SECRET_KEY = os.getenv('SECRET_KEY', 'my_precious_secret_key')
  11. DEBUG = False
  12. class DevelopmentConfig(Config):
  13. DEBUG = True
  14. MONGODB_SETTINGS = {
  15. "db": "Medidores",
  16. "username": "mailScheduler",
  17. "password": "pqowieuryt",
  18. "host": "192.168.100.5",
  19. "port": 27117
  20. }
  21. SCHEDULER_JOBSTORES = {
  22. 'default': MongoDBJobStore(database='Medidores',
  23. collection='mail_scheduler',
  24. client=mongo_client)
  25. }
  26. SCHEDULER_API_ENABLED = True
  27. class TestingConfig(Config):
  28. DEBUG = True
  29. TESTING = True
  30. PRESERVE_CONTEXT_ON_EXCEPTION = False
  31. class ProductionConfig(Config):
  32. mongo_client = MongoClient(os.getenv('MONGODB_URL'))
  33. DEBUG = False
  34. MONGODB_SETTINGS = {
  35. "db": os.getenv('db'),
  36. "username": os.getenv('MONGODB_USERNAME'),
  37. "password": os.getenv('MONGODB_PASSWORD'),
  38. "host": os.getenv('MONGODB_HOST'),
  39. "port": os.getenv('MONGODB_PORT')
  40. }
  41. SCHEDULER_JOBSTORES = {
  42. 'default': MongoDBJobStore(database='Medidores',
  43. collection='mail_scheduler',
  44. client=mongo_client)
  45. }
  46. SCHEDULER_API_ENABLED = True
  47. config_by_name = dict(
  48. dev=DevelopmentConfig,
  49. test=TestingConfig,
  50. prod=ProductionConfig
  51. )
  52. key = Config.SECRET_KEY