merged current branches
[electrum-nvc.git] / lib / simple_config.py
1 import json
2 import os
3 from util import user_dir
4
5 class SimpleConfig:
6   default_options = {"gui": "lite", "proxy": { "mode": "none", "host":"localhost", "port":"8080" },
7                     "winpos-qt": [100, 100, 840, 400], "winpos-lite": [4, 25, 351, 149], "history": False }
8
9   def set_key(self, key, value, save = True):
10     self.config[key] = value
11     if save == True:
12       self.save_config()
13
14   def save_config(self):
15     f = open(self.config_file_path(), "w+")
16     f.write(json.dumps(self.config))
17
18   def load_config(self):
19     f = open(self.config_file_path(), "r")
20     file_contents = f.read()
21     if file_contents:
22       user_config = json.loads(file_contents)
23       for i in user_config:
24           self.config[i] = user_config[i]
25     else:
26       self.config = self.default_options
27       self.save_config()
28   
29   def config_file_path(self):
30     return "%s" % (self.config_folder + "/config.json")
31
32   def __init__(self):
33     # Find electrum data folder
34     self.config_folder = user_dir()
35     self.config = self.default_options
36     # Read the file
37     if os.path.exists(self.config_file_path()):
38       self.load_config()
39     self.save_config()
40