From 699125aa5c41e1b63e7e3fc844ee740df3505884 Mon Sep 17 00:00:00 2001 From: tzutalin Date: Sun, 18 Nov 2018 09:42:33 -0800 Subject: [PATCH] workaroud for failure of loading setting --- libs/settings.py | 16 ++++++++++------ tests/test_settings.py | 19 +++++++++++++------ 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/libs/settings.py b/libs/settings.py index 1ee27b76..e3eea731 100644 --- a/libs/settings.py +++ b/libs/settings.py @@ -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 \ No newline at end of file + self.path = None diff --git a/tests/test_settings.py b/tests/test_settings.py index 973780d4..4df06d5f 100644 --- a/tests/test_settings.py +++ b/tests/test_settings.py @@ -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__':