]> git.lizzy.rs Git - cheatdb.git/blob - app/__init__.py
Prevent trusted users from approving their own packages
[cheatdb.git] / app / __init__.py
1 # Content DB
2 # Copyright (C) 2018  rubenwardy
3 #
4 # This program is free software: you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation, either version 3 of the License, or
7 # (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program.  If not, see <https://www.gnu.org/licenses/>.
16
17
18 from flask import *
19 from flask_user import *
20 import flask_menu as menu
21 from flask_mail import Mail
22 from flask.ext import markdown
23 from flask_github import GitHub
24 from flask_wtf.csrf import CsrfProtect
25 from flask_flatpages import FlatPages
26 import os
27
28 app = Flask(__name__, static_folder="public/static")
29 app.config["FLATPAGES_ROOT"] = "flatpages"
30 app.config["FLATPAGES_EXTENSION"] = ".md"
31 app.config.from_pyfile(os.environ["FLASK_CONFIG"])
32
33 menu.Menu(app=app)
34 markdown.Markdown(app, extensions=["fenced_code"], safe_mode=True, output_format="html5")
35 github = GitHub(app)
36 csrf = CsrfProtect(app)
37 mail = Mail(app)
38 pages = FlatPages(app)
39
40 if not app.debug:
41         from .maillogger import register_mail_error_handler
42         register_mail_error_handler(app, mail)
43
44 from . import models, tasks
45 from .views import *