5 log = logging.getLogger(__name__)
7 class Settings(object):
11 'favorites':set([]) # local favorites - until we can sync back
15 self.__savename = "/tmp/jaemendo_uisettings"
16 for k,v in self.defaults.iteritems():
19 def set_filename(self, savename):
20 self.__savename = savename
22 def favorite(self, album):
23 self.favorites.add(('album', album.ID))
27 if not os.path.isfile(self.__savename):
30 f = open(self.__savename)
31 settings = cPickle.load(f)
34 if settings['version'] > VERSION:
35 log.warning("Settings version %s higher than current version (%s)",
36 settings['version'], VERSION)
38 for k in self.defaults.keys():
40 setattr(self, k, settings[k])
42 log.exception('failed to load settings')
49 for k in self.defaults.keys():
50 settings[k] = getattr(self, k)
51 f = open(self.__savename, 'w')
52 cPickle.dump(settings, f)
55 log.exception('failed to save settings')