You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

48 lines
1.4 KiB

  1. import os
  2. basedir = os.path.abspath(os.path.dirname(__file__))
  3. class Config:
  4. SECRET_KEY = os.environ.get('SECRET_KEY') or 'hard to guess string'
  5. MAIL_SERVER = os.environ.get('MAIL_SERVER', 'smtp.strato.de')
  6. MAIL_PORT = int(os.environ.get('MAIL_PORT', '587'))
  7. MAIL_USE_TLS = os.environ.get('MAIL_USE_TLS', 'true').lower() in \
  8. ['true', 'on', '1']
  9. MAIL_USERNAME = os.environ.get('MAIL_USERNAME')
  10. MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD')
  11. FLASKY_MAIL_SUBJECT_PREFIX = '[Flasky]'
  12. FLASKY_MAIL_SENDER = 'Flasky Admin <flasky@example.com>'
  13. FLASKY_ADMIN = os.environ.get('FLASKY_ADMIN')
  14. SQLALCHEMY_TRACK_MODIFICATIONS = False
  15. FLASKY_POSTS_PER_PAGE = 20
  16. FLASKY_FOLLOWERS_PER_PAGE = 50
  17. @staticmethod
  18. def init_app(app):
  19. pass
  20. class DevelopmentConfig(Config):
  21. DEBUG = True
  22. SQLALCHEMY_DATABASE_URI = os.environ.get('DEV_DATABASE_URL') or \
  23. 'sqlite:///' + os.path.join(basedir, 'data-dev.sqlite')
  24. class TestingConfig(Config):
  25. TESTING = True
  26. SQLALCHEMY_DATABASE_URI = os.environ.get('TEST_DATABASE_URL') or \
  27. 'sqlite://'
  28. class ProductionConfig(Config):
  29. SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \
  30. 'sqlite:///' + os.path.join(basedir, 'data.sqlite')
  31. config = {
  32. 'development': DevelopmentConfig,
  33. 'testing': TestingConfig,
  34. 'production': ProductionConfig,
  35. 'default': DevelopmentConfig
  36. }