__init__.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # ********************************************************************************
  4. # Copyright © 2018 jianglin
  5. # File Name: __init__.py
  6. # Author: jianglin
  7. # Email: xiyang0807@gmail.com
  8. # Created: 2018-02-11 14:52:12 (CST)
  9. # Last Update: Saturday 2018-03-03 21:53:59 (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(cache=cache.cached(
  31. timeout=259200, key_prefix=lambda: "avatar:{}".format(request.url)))
  32. def init_app(app):
  33. db.init_app(app)
  34. cache.init_app(app)
  35. avatar.init_app(app)
  36. csrf.init_app(app)
  37. principal.init_app(app)
  38. redis_data.init_app(app)
  39. mail.init_app(app)
  40. search.init_app(app)
  41. babel.init_app(app)
  42. login.init_app(app)
  43. maple.init_app(app)