|
@@ -13,6 +13,7 @@ import logging.config
|
|
import os
|
|
import os
|
|
import sys
|
|
import sys
|
|
import time
|
|
import time
|
|
|
|
+import warnings
|
|
from datetime import datetime
|
|
from datetime import datetime
|
|
|
|
|
|
from flask import Flask, request
|
|
from flask import Flask, request
|
|
@@ -22,39 +23,79 @@ from sqlalchemy.engine import Engine
|
|
from sqlalchemy.exc import OperationalError, ProgrammingError
|
|
from sqlalchemy.exc import OperationalError, ProgrammingError
|
|
|
|
|
|
from flaskbb._compat import iteritems, string_types
|
|
from flaskbb._compat import iteritems, string_types
|
|
|
|
+
|
|
|
|
|
|
-from flaskbb.extensions import (alembic, allows, babel, cache, celery, csrf,
|
|
+from flaskbb.extensions import (
|
|
- db, debugtoolbar, limiter, login_manager, mail,
|
|
+ alembic,
|
|
- redis_store, themes, whooshee)
|
|
+ allows,
|
|
|
|
+ babel,
|
|
|
|
+ cache,
|
|
|
|
+ celery,
|
|
|
|
+ csrf,
|
|
|
|
+ db,
|
|
|
|
+ debugtoolbar,
|
|
|
|
+ limiter,
|
|
|
|
+ login_manager,
|
|
|
|
+ mail,
|
|
|
|
+ redis_store,
|
|
|
|
+ themes,
|
|
|
|
+ whooshee,
|
|
|
|
+)
|
|
from flaskbb.plugins import spec
|
|
from flaskbb.plugins import spec
|
|
from flaskbb.plugins.manager import FlaskBBPluginManager
|
|
from flaskbb.plugins.manager import FlaskBBPluginManager
|
|
from flaskbb.plugins.models import PluginRegistry
|
|
from flaskbb.plugins.models import PluginRegistry
|
|
from flaskbb.plugins.utils import remove_zombie_plugins_from_db, template_hook
|
|
from flaskbb.plugins.utils import remove_zombie_plugins_from_db, template_hook
|
|
|
|
+
|
|
|
|
|
|
from flaskbb.user.models import Guest, User
|
|
from flaskbb.user.models import Guest, User
|
|
|
|
+
|
|
|
|
|
|
-from flaskbb.utils.helpers import (app_config_from_env, crop_title,
|
|
+from flaskbb.utils.helpers import (
|
|
- format_date, format_datetime,
|
|
+ app_config_from_env,
|
|
- forum_is_unread, get_alembic_locations,
|
|
+ crop_title,
|
|
- get_flaskbb_config, is_online, mark_online,
|
|
+ format_date,
|
|
- render_template, time_since, time_utcnow,
|
|
+ format_datetime,
|
|
- topic_is_unread)
|
|
+ forum_is_unread,
|
|
|
|
+ get_alembic_locations,
|
|
|
|
+ get_flaskbb_config,
|
|
|
|
+ is_online,
|
|
|
|
+ mark_online,
|
|
|
|
+ render_template,
|
|
|
|
+ time_since,
|
|
|
|
+ time_utcnow,
|
|
|
|
+ topic_is_unread,
|
|
|
|
+)
|
|
|
|
+
|
|
|
|
|
|
-from flaskbb.utils.requirements import (CanBanUser, CanEditUser, IsAdmin,
|
|
+from flaskbb.utils.requirements import (
|
|
- IsAtleastModerator, can_delete_topic,
|
|
+ CanBanUser,
|
|
- can_edit_post, can_moderate,
|
|
+ CanEditUser,
|
|
- can_post_reply, can_post_topic,
|
|
+ IsAdmin,
|
|
- has_permission,
|
|
+ IsAtleastModerator,
|
|
- permission_with_identity)
|
|
+ can_delete_topic,
|
|
|
|
+ can_edit_post,
|
|
|
|
+ can_moderate,
|
|
|
|
+ can_post_reply,
|
|
|
|
+ can_post_topic,
|
|
|
|
+ has_permission,
|
|
|
|
+ permission_with_identity,
|
|
|
|
+)
|
|
|
|
+
|
|
|
|
|
|
-from flaskbb.utils.search import (ForumWhoosheer, PostWhoosheer,
|
|
+from flaskbb.utils.search import (
|
|
- TopicWhoosheer, UserWhoosheer)
|
|
+ ForumWhoosheer,
|
|
|
|
+ PostWhoosheer,
|
|
|
|
+ TopicWhoosheer,
|
|
|
|
+ UserWhoosheer,
|
|
|
|
+)
|
|
|
|
+
|
|
|
|
|
|
from flaskbb.utils.settings import flaskbb_config
|
|
from flaskbb.utils.settings import flaskbb_config
|
|
from flaskbb.utils.translations import FlaskBBDomain
|
|
from flaskbb.utils.translations import FlaskBBDomain
|
|
|
|
|
|
from . import markup
|
|
from . import markup
|
|
from .auth import views as auth_views
|
|
from .auth import views as auth_views
|
|
|
|
+from .deprecation import FlaskBBDeprecation
|
|
from .forum import views as forum_views
|
|
from .forum import views as forum_views
|
|
from .management import views as management_views
|
|
from .management import views as management_views
|
|
from .user import views as user_views
|
|
from .user import views as user_views
|
|
@@ -135,6 +176,12 @@ def configure_app(app, config):
|
|
|
|
|
|
logger.info("Using config from: {}".format(config_name))
|
|
logger.info("Using config from: {}".format(config_name))
|
|
|
|
|
|
|
|
+ deprecation_level = app.config.get("DEPRECATION_LEVEL", "default")
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if not app.testing:
|
|
|
|
+ warnings.simplefilter(deprecation_level, FlaskBBDeprecation)
|
|
|
|
+
|
|
app.pluggy = FlaskBBPluginManager("flaskbb", implprefix="flaskbb_")
|
|
app.pluggy = FlaskBBPluginManager("flaskbb", implprefix="flaskbb_")
|
|
|
|
|
|
|
|
|