From b73579a11df451710ca99be378662686ea4b7d56 Mon Sep 17 00:00:00 2001 From: Ben Busby <33362396+benbusby@users.noreply.github.com> Date: Mon, 1 Jun 2020 12:50:11 -0600 Subject: [PATCH] Switched to pickling saved configs --- app/routes.py | 9 ++++----- app/static/js/controller.js | 4 ++-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/app/routes.py b/app/routes.py index e1e5812..42a47bc 100644 --- a/app/routes.py +++ b/app/routes.py @@ -12,6 +12,7 @@ from functools import wraps import io import json import os +import pickle import urllib.parse as urlparse from requests import exceptions import uuid @@ -156,8 +157,8 @@ def config(): return json.dumps(g.user_config.__dict__) elif request.method == 'PUT': if 'name' in request.args: - config_path = os.path.join(app.config['CONFIG_PATH'], request.args.get('name')) - session['config'] = json.load(open(config_path)) if os.path.exists(config_path) else session['config'] + config_pkl = os.path.join(app.config['CONFIG_PATH'], request.args.get('name')) + session['config'] = pickle.load(open(config_pkl, 'rb')) if os.path.exists(config_pkl) else session['config'] return json.dumps(session['config']) else: return json.dumps({}) @@ -167,9 +168,7 @@ def config(): config_data['url'] = g.user_config.url if 'name' in request.args: - with open(os.path.join(app.config['CONFIG_PATH'], request.args.get('name')), 'w') as config_file: - config_file.write(json.dumps(config_data, indent=4)) - config_file.close() + pickle.dump(config_data, open(os.path.join(app.config['CONFIG_PATH'], request.args.get('name')), 'wb')) session['config'] = config_data return redirect(config_data['url']) diff --git a/app/static/js/controller.js b/app/static/js/controller.js index 15d18fd..fef7731 100644 --- a/app/static/js/controller.js +++ b/app/static/js/controller.js @@ -80,7 +80,7 @@ const loadConfig = event => { } let xhrPUT = new XMLHttpRequest(); - xhrPUT.open("PUT", "/config?name=" + config + '.json'); + xhrPUT.open("PUT", "/config?name=" + config); xhrPUT.onload = function() { if (xhrPUT.readyState === 4 && xhrPUT.status !== 200) { alert("Error loading Whoogle config"); @@ -102,7 +102,7 @@ const saveConfig = event => { } let configForm = document.getElementById("config-form"); - configForm.action = '/config?name=' + config + '.json'; + configForm.action = '/config?name=' + config; configForm.submit(); };