34 import simplejson
as json
38 from classes.logger
import log
59 if type(self.
_data) == list:
63 for item
in self.
_data:
64 if "setting" in item
and "value" in item:
65 user_values[item[
"setting"].lower()] = item[
"value"]
68 return copy.deepcopy(user_values.get(key,
None))
71 return copy.deepcopy(self._data.get(key,
None))
75 def set(self, key, value):
79 if type(self.
_data) == list:
83 for item
in self.
_data:
84 if "setting" in item
and "value" in item:
85 user_values[item[
"setting"].lower()] = item
88 user_values[key][
"value"] = value
92 self.
_data[key] = value
100 if type(default) == list:
105 if "setting" in item
and "value" in item:
106 user_values[item[
"setting"]] = item[
"value"]
110 user_value = user_values.get(item[
"setting"],
None)
111 if user_value !=
None:
112 item[
"value"] = user_value
122 user[key] = default[key]
132 with open(file_path,
'r') as f: 136 return json.loads(contents)
137 except Exception
as ex:
150 with open(file_path,
'w')
as f:
151 f.write(json.dumps(data))
152 except Exception
as ex:
153 msg = (
"Couldn't save {} file:\n{}\n{}".
format(self.
data_type, file_path, ex))
def write_to_file(self, file_path, data)
Save JSON settings to a file.
def get(self, key)
Get copied value of a given key in data store.
def set(self, key, value)
Store value in key.
This class which allows getting/setting of key/value settings, and loading and saving to json files...
def merge_settings(self, default, user)
Merge settings files, removing invalid settings based on default settings This is only called by some...
def read_from_file(self, file_path)
Load JSON settings from a file.