greenhouse/libs/settings.py
Jiye Qian a1decb8e24 Enhance compatibility
Adding the path to '.settings.pkl' file, this is especailly useful for MacOS. Then we can put '.settings.pkl' into 'MacOS' folder within 'labelImg.app'. The App will crash without path setting, as soon as we close the App in MacOS.
2017-08-14 02:29:26 +08:00

34 lines
813 B
Python

import pickle
import os
import sys
class Settings(object):
def __init__(self):
self.data = {}
self.path = os.path.join(os.path.dirname(sys.argv[0]), '.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