__init__.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # ********************************************************************************
  4. # Copyright © 2018 jianglin
  5. # File Name: __init__.py
  6. # Author: jianglin
  7. # Email: mail@honmaple.com
  8. # Created: 2018-02-11 14:52:12 (CST)
  9. # Last Update: Tuesday 2019-05-07 01:05:29 (CST)
  10. # By:
  11. # Description:
  12. # ********************************************************************************
  13. from flask import request
  14. from flask_wtf.csrf import CSRFProtect
  15. from flask_avatar import Avatar
  16. from flask_maple.models import db
  17. from flask_maple.redis import Redis
  18. from flask_maple.mail import Mail
  19. from flask_principal import Principal
  20. from flask_msearch import Search
  21. from flask_caching import Cache
  22. from . import babel, login, maple
  23. db = db
  24. csrf = CSRFProtect()
  25. redis_data = Redis()
  26. cache = Cache()
  27. mail = Mail()
  28. principal = Principal()
  29. search = Search(db=db)
  30. avatar = Avatar(
  31. cache=cache.cached(
  32. timeout=259200, key_prefix=lambda: "avatar:{}".format(request.url)))
  33. def init_app(app):
  34. db.init_app(app)
  35. cache.init_app(app)
  36. avatar.init_app(app)
  37. csrf.init_app(app)
  38. principal.init_app(app)
  39. redis_data.init_app(app)
  40. mail.init_app(app)
  41. search.init_app(app)
  42. babel.init_app(app)
  43. login.init_app(app)
  44. maple.init_app(app)