config.py 1.8 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. DB_CONNECTION = {
  15. "MONGODB_DB": "Medidores",
  16. "MONGODB_USERNAME": "mailScheduler",
  17. "MONGODB_PASSWORD": "pqowieuryt",
  18. "MONGODB_HOST": "192.168.100.5",
  19. "MONGODB_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. DB_CONNECTION = {
  35. "MONGODB_DB": os.getenv('MONGODB_DB'),
  36. "MONGODB_USERNAME": os.getenv('MONGODB_USERNAME'),
  37. "MONGODB_PASSWORD": os.getenv('MONGODB_PASSWORD'),
  38. "MONGODB_HOST": os.getenv('MONGODB_HOST'),
  39. "MONGODB_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