From e6c143ad928cec475423979f5c1e6f1f88fdf753 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20Gr=C3=B6ger?= Date: Wed, 3 May 2023 06:29:55 +0200 Subject: [PATCH] fix json_encoder for flask 2.x --- flaschengeist/app.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/flaschengeist/app.py b/flaschengeist/app.py index 0e2031c..e1a5ee3 100644 --- a/flaschengeist/app.py +++ b/flaschengeist/app.py @@ -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)