greenhouse/libs/settings.py

46 lines
1.2 KiB
Python
Raw Normal View History

2017-08-08 05:10:34 +08:00
import os
import pickle
2017-08-08 05:10:34 +08:00
2017-08-08 05:10:34 +08:00
class Settings(object):
def __init__(self):
# Be default, the home will be in the same folder as labelImg
home = os.path.expanduser("~")
2017-08-08 05:10:34 +08:00
self.data = {}
self.path = os.path.join(home, '.labelImgSettings.pkl')
2017-08-08 05:10:34 +08:00
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):
2017-10-13 23:44:47 +08:00
if self.path:
with open(self.path, 'wb') as f:
pickle.dump(self.data, f, pickle.HIGHEST_PROTOCOL)
return True
2017-08-08 05:10:34 +08:00
return False
def load(self):
try:
if os.path.exists(self.path):
with open(self.path, 'rb') as f:
self.data = pickle.load(f)
return True
except:
print('Loading setting failed')
2017-08-08 05:10:34 +08:00
return False
2017-10-13 23:44:47 +08:00
def reset(self):
if os.path.exists(self.path):
os.remove(self.path)
print('Remove setting pkl file ${0}'.format(self.path))
2017-10-13 23:44:47 +08:00
self.data = {}
self.path = None