Refactor settings class

This commit is contained in:
tzutalin
2017-08-08 05:10:34 +08:00
parent 3c63864997
commit c64a5eae9b
5 changed files with 80 additions and 82 deletions
+32
View File
@@ -0,0 +1,32 @@
import pickle
import os
class Settings(object):
def __init__(self):
self.data = {}
self.path = '.settings.pkl'
def __setitem__(self, key, value):
self.data[key] = value
def __getitem__(self, key):
return self.data[key]
def get(self, key, default=None):
if key in self.data:
return self.data[key]
return default
def save(self):
with open(self.path, 'wb') as f:
pickle.dump(self.data, f, pickle.HIGHEST_PROTOCOL)
return True
return False
def load(self):
if os.path.exists(self.path):
with open(self.path, 'rb') as f:
self.data = pickle.load(f)
return True
return False