To reduce clutter, all unused imports were removed. On the affected files, imports were also reordered to be PEP8 sorted.
46 lines
1.2 KiB
Python
46 lines
1.2 KiB
Python
import os
|
|
import pickle
|
|
|
|
|
|
class Settings(object):
|
|
def __init__(self):
|
|
# Be default, the home will be in the same folder as labelImg
|
|
home = os.path.expanduser("~")
|
|
self.data = {}
|
|
self.path = os.path.join(home, '.labelImgSettings.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):
|
|
if self.path:
|
|
with open(self.path, 'wb') as f:
|
|
pickle.dump(self.data, f, pickle.HIGHEST_PROTOCOL)
|
|
return True
|
|
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')
|
|
return False
|
|
|
|
def reset(self):
|
|
if os.path.exists(self.path):
|
|
os.remove(self.path)
|
|
print('Remove setting pkl file ${0}'.format(self.path))
|
|
self.data = {}
|
|
self.path = None
|