Do a commit when preferences are restored. Ensure that the in-memory copy of the prefs is correct after restore.

This commit is contained in:
Charles Haley 2012-06-19 17:46:02 +02:00
parent c888503ce0
commit 4205c7b8a1

View File

@ -84,13 +84,15 @@ class DBPrefs(dict):
try: try:
from_filename = os.path.join(library_path, 'metadata_db_prefs.json') from_filename = os.path.join(library_path, 'metadata_db_prefs.json')
with open(from_filename, "rb") as f: with open(from_filename, "rb") as f:
self.clear()
d = json.load(f, object_hook=from_json) d = json.load(f, object_hook=from_json)
self.db.conn.execute('DELETE FROM preferences') self.db.conn.execute('DELETE FROM preferences')
for k,v in d.iteritems(): for k,v in d.iteritems():
raw = self.to_raw(v) raw = self.to_raw(v)
self.db.conn.execute( self.db.conn.execute(
'INSERT OR REPLACE INTO preferences (key,val) VALUES (?,?)', 'INSERT INTO preferences (key,val) VALUES (?,?)', (k, raw))
(k, raw)) self.db.conn.commit()
self.update(d)
except: except:
import traceback import traceback
traceback.print_exc() traceback.print_exc()