fix json_encoder for flask 2.x

This commit is contained in:
Tim Gröger 2023-05-03 06:29:55 +02:00
parent 59f5d4529d
commit e6c143ad92
1 changed files with 5 additions and 6 deletions

View File

@ -6,7 +6,7 @@ from flask_cors import CORS
from datetime import datetime, date
from flask.json import jsonify
from json import JSONEncoder
from flask.json.provider import JSONProvider
from flask.json.provider import JSONProvider
from sqlalchemy.exc import OperationalError
from werkzeug.exceptions import HTTPException
@ -14,7 +14,6 @@ from flaschengeist import logger
from flaschengeist.controller import pluginController
from flaschengeist.utils.hook import Hook
from flaschengeist.config import configure_app
from flaschengeist.plugins import Plugin
from flaschengeist.database import db
@ -39,8 +38,8 @@ class CustomJSONEncoder(JSONEncoder):
return list(iterable)
return JSONEncoder.default(self, o)
class CustomJSONProvider(JSONProvider):
class CustomJSONProvider(JSONProvider):
ensure_ascii: bool = True
sort_keys: bool = True
@ -62,8 +61,8 @@ def load_plugins(app: Flask):
try:
# Load class
cls = plugin.entry_point.load()
#plugin = cls.query.get(plugin.id) if plugin.id is not None else plugin
#plugin = db.session.query(cls).get(plugin.id) if plugin.id is not None else plugin
# plugin = cls.query.get(plugin.id) if plugin.id is not None else plugin
# plugin = db.session.query(cls).get(plugin.id) if plugin.id is not None else plugin
plugin = db.session.get(cls, plugin.id) if plugin.id is not None else plugin
# Custom loading tasks
plugin.load()
@ -79,9 +78,9 @@ def load_plugins(app: Flask):
logger.info(f"Loaded plugin: {plugin.name}")
app.config["FG_PLUGINS"][plugin.name] = plugin
def create_app(test_config=None, cli=False):
app = Flask("flaschengeist")
# app.json_encoder = CustomJSONEncoder
app.json_provider_class = CustomJSONProvider
app.json = CustomJSONProvider(app)
CORS(app)