]> git.lizzy.rs Git - cheatdb.git/blobdiff - app/__init__.py
Restrict seeing the email addresses of others to admins only
[cheatdb.git] / app / __init__.py
index a0b4ba5c5574978769ca4006504c94080a431958..8449e9baef31b8aaf7fbbdcc307c42ec596a5c2a 100644 (file)
@@ -1,4 +1,4 @@
-# Content DB
+# ContentDB
 # Copyright (C) 2018  rubenwardy
 #
 # This program is free software: you can redistribute it and/or modify
@@ -20,22 +20,22 @@ from flask_user import *
 from flask_gravatar import Gravatar
 import flask_menu as menu
 from flask_mail import Mail
-from flaskext.markdown import Markdown
 from flask_github import GitHub
-from flask_wtf.csrf import CsrfProtect
+from flask_wtf.csrf import CSRFProtect
 from flask_flatpages import FlatPages
 from flask_babel import Babel
-import os
+import os, redis
 
 app = Flask(__name__, static_folder="public/static")
 app.config["FLATPAGES_ROOT"] = "flatpages"
 app.config["FLATPAGES_EXTENSION"] = ".md"
 app.config.from_pyfile(os.environ["FLASK_CONFIG"])
 
+r = redis.Redis.from_url(app.config["REDIS_URL"])
+
 menu.Menu(app=app)
-markdown = Markdown(app, extensions=["fenced_code"], safe_mode=True, output_format="html5")
 github = GitHub(app)
-csrf = CsrfProtect(app)
+csrf = CSRFProtect(app)
 mail = Mail(app)
 pages = FlatPages(app)
 babel = Babel(app)
@@ -57,9 +57,12 @@ if not app.debug and app.config["MAIL_UTILS_ERROR_SEND_TO"]:
        register_mail_error_handler(app, mail)
 
 
-@babel.localeselector
-def get_locale():
-       return request.accept_languages.best_match(app.config['LANGUAGES'].keys())
+from .markdown import init_app
+init_app(app)
+
+# @babel.localeselector
+# def get_locale():
+#      return request.accept_languages.best_match(app.config['LANGUAGES'].keys())
 
 from . import models, tasks, template_filters
 
@@ -70,7 +73,7 @@ from flask_login import logout_user
 
 @app.route("/uploads/<path:path>")
 def send_upload(path):
-       return send_from_directory("public/uploads", path)
+       return send_from_directory(app.config['UPLOAD_DIR'], path)
 
 @menu.register_menu(app, ".help", "Help", order=19, endpoint_arguments_constructor=lambda: { 'path': 'help' })
 @app.route('/<path:path>/')
@@ -83,9 +86,16 @@ def flatpage(path):
 def check_for_ban():
        if current_user.is_authenticated:
                if current_user.rank == models.UserRank.BANNED:
-                       flash("You have been banned.", "error")
+                       flash("You have been banned.", "danger")
                        logout_user()
                        return redirect(url_for('user.login'))
                elif current_user.rank == models.UserRank.NOT_JOINED:
                        current_user.rank = models.UserRank.MEMBER
                        models.db.session.commit()
+
+from .utils import clearNotifications
+
+@app.before_request
+def check_for_notifications():
+       if current_user.is_authenticated:
+               clearNotifications(request.path)