From 4208885e368286930f8c8762d4b7032b14f79e66 Mon Sep 17 00:00:00 2001 From: shortcutme <tamas@zeronet.io> Date: Tue, 10 Jul 2018 03:39:33 +0200 Subject: [PATCH] Store pending configuration values --- src/Config.py | 4 ++++ src/Ui/UiWebsocket.py | 13 ++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/Config.py b/src/Config.py index 32d48d65..cb4ae2a7 100644 --- a/src/Config.py +++ b/src/Config.py @@ -13,6 +13,10 @@ class Config(object): self.rev = 3504 self.argv = argv self.action = None + self.pending_changes = {} + self.need_restart = False + self.keys_restart_need = set(["tor", "fileserver_port"]) + self.config_file = "zeronet.conf" self.createParser() self.createArguments() diff --git a/src/Ui/UiWebsocket.py b/src/Ui/UiWebsocket.py index 3240b30f..24f5faee 100644 --- a/src/Ui/UiWebsocket.py +++ b/src/Ui/UiWebsocket.py @@ -994,9 +994,16 @@ class UiWebsocket(object): config.saveValue(key, value) - instant_change_keys = ["language", "tor_use_bridges", "trackers_proxy"] - if key in instant_change_keys: - setattr(config, key, value) + if key not in config.keys_restart_need: + if value is None: # Default value + setattr(config, key, config.parser.get_default(key)) + setattr(config.arguments, key, config.parser.get_default(key)) + else: + setattr(config, key, value) + setattr(config.arguments, key, value) + else: + config.need_restart = True + config.pending_changes[key] = value if key == "language": import Translate