From 76bfff84da05f283d385dc34b83502fa98079fa5 Mon Sep 17 00:00:00 2001 From: frikky Date: Sun, 3 Jul 2022 02:15:02 +0200 Subject: [PATCH] Added | escape }} liquid filter to manage strings in JSON better --- backend/app_sdk/app_base.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/backend/app_sdk/app_base.py b/backend/app_sdk/app_base.py index 23bde802..01b54a2b 100644 --- a/backend/app_sdk/app_base.py +++ b/backend/app_sdk/app_base.py @@ -117,6 +117,22 @@ def as_object(a): def ast(a): return ast.literal_eval(str(a)) +@shuffle_filters.register +def escape_string(a): + a = str(a) + return a.replace("\\\'", "\'", -1).replace("\\\"", "\"", -1).replace("'", "\\\'", -1).replace("\"", "\\\"", -1) + +@shuffle_filters.register +def json_escape(a): + a = str(a) + return a.replace("\\\'", "\'", -1).replace("\\\"", "\"", -1).replace("'", "\\\\\'", -1).replace("\"", "\\\\\"", -1) + +# By default using json escape to add all backslashes +@shuffle_filters.register +def escape(a): + a = str(a) + return json_escape(a) + #print(standard_filter_manager.filters) #print(shuffle_filters.filters) #print(Liquid("{{ '10' | plus: 1}}", filters=shuffle_filters.filters).render())