Uno-Dan

Untitled

Jul 11th, 2020
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.28 KB | None | 0 0
  1.  
  2. import os
  3. import logging
  4.  
  5. from flask_babel import lazy_gettext as _l
  6. from logging.handlers import SMTPHandler, RotatingFileHandler
  7.  
  8. from flask import Flask, request
  9. from config import Config
  10. from flask_sqlalchemy import SQLAlchemy
  11. from flask_migrate import Migrate
  12. from flask_login import LoginManager
  13. from flask_mail import Mail
  14. from flask_bootstrap import Bootstrap
  15. from flask_moment import Moment
  16. from flask_babel import Babel
  17.  
  18. app = Flask(__name__)
  19.  
  20. login = LoginManager(app)
  21. app.config.from_object(Config)
  22. db = SQLAlchemy(app)
  23. migrate = Migrate(app, db)
  24. login.login_view = 'login'
  25. login.login_message = _l('Please log in to access this page.')
  26. mail = Mail(app)
  27.  
  28. moment = Moment(app)
  29. babel = Babel(app)
  30. bootstrap = Bootstrap(app)
  31.  
  32. from app.errors import bp as errors_bp
  33. app.register_blueprint(errors_bp)
  34.  
  35. from app.auth import bp as auth_bp
  36. app.register_blueprint(auth_bp, url_prefix='/auth')
  37.  
  38. # from app.auth import routes
  39. from app.base import routes
  40. # from app.errors import handlers
  41. from app import models
  42.  
  43.  
  44. @babel.localeselector
  45. def get_locale():
  46.     return request.accept_languages.best_match(app.config['LANGUAGES'])
  47.  
  48.  
  49. if not app.debug:
  50.     if app.config['MAIL_SERVER']:
  51.         auth = None
  52.         if app.config['MAIL_USERNAME'] or app.config['MAIL_PASSWORD']:
  53.             auth = (app.config['MAIL_USERNAME'], app.config['MAIL_PASSWORD'])
  54.         secure = None
  55.         if app.config['MAIL_USE_TLS']:
  56.             secure = ()
  57.         mail_handler = SMTPHandler(
  58.             mailhost=(app.config['MAIL_SERVER'], app.config['MAIL_PORT']),
  59.             fromaddr='no-reply@' + app.config['MAIL_SERVER'],
  60.             toaddrs=app.config['ADMINS'], subject='Microblog Failure',
  61.             credentials=auth, secure=secure)
  62.         mail_handler.setLevel(logging.ERROR)
  63.         app.logger.addHandler(mail_handler)
  64.  
  65.     if not os.path.exists('logs'):
  66.         os.mkdir('logs')
  67.     file_handler = RotatingFileHandler('logs/microblog.log', maxBytes=10240, backupCount=10)
  68.     file_handler.setFormatter(
  69.         logging.Formatter('%(asctime)s %(levelname)s: %(message)s [in %(pathname)s:%(lineno)d]'))
  70.  
  71.     file_handler.setLevel(logging.INFO)
  72.     app.logger.addHandler(file_handler)
  73.  
  74.     app.logger.setLevel(logging.INFO)
  75.     app.logger.info('Microblog startup')
Add Comment
Please, Sign In to add comment