-import json, ast
-import os, ast
-from util import user_dir, print_error
-
-from version import ELECTRUM_VERSION, SEED_VERSION
-
-
+import json
+import ast
+import threading
+import os
+from util import user_dir, print_error
a SimpleConfig instance then reads the wallet file.
"""
def __init__(self, options={}):
+ self.lock = threading.Lock()
# system conf, readonly
self.system_config = {}
print "Warning: not changing '%s' because it was set in the system configuration"%key
else:
- self.user_config[key] = value
- if save: self.save_user_config()
+
+ with self.lock:
+ self.user_config[key] = value
+ if save:
+ self.save_user_config()
class WalletStorage:
def __init__(self, config):
+ self.lock = threading.Lock()
self.data = {}
self.file_exists = False
self.init_path(config)
def put(self, key, value, save = True):
- if self.data.get(key) is not None:
- self.data[key] = value
- else:
- # add key to wallet config
- self.data[key] = value
-
- if save:
- self.write()
-
+ with self.lock:
+ if value is not None:
+ self.data[key] = value
+ else:
+ self.data.pop[key]
+ if save:
+ self.write()
def write(self):
s = repr(self.data)