From a4f09ba7440b4028cdc59fe10c71da6c9c3a849b Mon Sep 17 00:00:00 2001 From: Vincent Post Date: Fri, 7 Aug 2020 21:24:15 +0200 Subject: compact_json is no longer importable from itsdangerous --- accounts/utils/login.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/accounts/utils/login.py b/accounts/utils/login.py index 4267827..65e49ac 100644 --- a/accounts/utils/login.py +++ b/accounts/utils/login.py @@ -3,7 +3,20 @@ from flask import current_app from flask_login import LoginManager, current_user from functools import wraps from werkzeug.exceptions import Forbidden -from itsdangerous import base64_decode, base64_encode, compact_json +from itsdangerous import base64_decode, base64_encode +import json + + +class _compact_json: + @staticmethod + def loads(payload): + return json.loads(payload) + + @staticmethod + def dumps(obj, **kwargs): + kwargs.setdefault("ensure_ascii", False) + kwargs.setdefault("separators", (",", ":")) + return json.dumps(obj, **kwargs) def create_login_manager(): @@ -25,11 +38,11 @@ def create_login_manager(): def create_userid(username, password): userid = (username, password) - return base64_encode(compact_json.dumps(userid)) + return base64_encode(_compact_json.dumps(userid)) def parse_userid(value): - return compact_json.loads(base64_decode(value)) + return _compact_json.loads(base64_decode(value)) def logout_required(f): -- cgit v1.2.3-1-g7c22