__init__.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. """
  2. Website for Supremacy-stats
  3. """
  4. from flask import Flask
  5. from flask_sqlalchemy import SQLAlchemy
  6. from flask_migrate import Migrate
  7. from flask_login import LoginManager
  8. from flask_compress import Compress
  9. from flask_argon2 import Argon2
  10. DATABASE_URI = 'postgresql://supindex@localhost/supindex'
  11. class Config(object):
  12. SCHEDULER_JOBSTORES = {
  13. 'default': SQLAlchemyJobStore(url=DATABASE_URI)
  14. }
  15. SCHEDULER_API_ENABLED = True
  16. SQLALCHEMY_DATABASE_URI = DATABASE_URI
  17. SECRET_KEY = 'g6DGM5y2bVhb0mxdCRELI5m7fnzzoJ2y'
  18. SQLALCHEMY_TRACK_MODIFICATIONS = False
  19. SEND_FILE_MAX_AGE_DEFAULT = 1296000
  20. app = Flask(__name__)
  21. app.config.from_object(Config())
  22. app.jinja_env.lstrip_blocks = True
  23. app.jinja_env.trim_blocks = True
  24. # Compress settings
  25. COMPRESS_MIMETYPES = [
  26. 'text/html',
  27. 'text/css',
  28. 'text/xml',
  29. 'application/json',
  30. 'application/javascript'
  31. ]
  32. COMPRESS_LEVEL = 6
  33. COMPRESS_MIN_SIZE = 500
  34. Compress(app)
  35. db = SQLAlchemy(app)
  36. migrate = Migrate(app, db)
  37. argon2 = Argon2(app)
  38. # Login
  39. login_manager = LoginManager()
  40. login_manager.init_app(app)
  41. login_manager.login_view = "login"
  42. login_manager.login_message_category = "warning"