workaroud for failure of loading setting

This commit is contained in:
tzutalin 2018-11-18 09:42:33 -08:00
parent 2df7b6e402
commit 699125aa5c
2 changed files with 23 additions and 12 deletions

View File

@ -2,6 +2,7 @@ import pickle
import os
import sys
class Settings(object):
def __init__(self):
# Be default, the home will be in the same folder as labelImg
@ -28,15 +29,18 @@ class Settings(object):
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
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))
print('Remove setting pkl file ${0}'.format(self.path))
self.data = {}
self.path = None

View File

@ -14,12 +14,19 @@ from settings import Settings
class TestSettings(unittest.TestCase):
def test_basic(self):
wSetting = Settings()
wSetting['test0'] = 'hello'
wSetting['test1'] = 10
wSetting['test2'] = [0, 2, 3]
self.assertEqual(wSetting.get('test3', 3), 3)
self.assertEqual(wSetting.save(), True)
settings = Settings()
settings['test0'] = 'hello'
settings['test1'] = 10
settings['test2'] = [0, 2, 3]
self.assertEqual(settings.get('test3', 3), 3)
self.assertEqual(settings.save(), True)
settings.load()
self.assertEqual(settings.get('test0'), 'hello')
self.assertEqual(settings.get('test1'), 10)
settings.reset()
if __name__ == '__main__':