More unsafe usage of db.prefs.__setitem__ replaced

This commit is contained in:
Kovid Goyal 2015-03-16 18:11:43 +05:30
parent 9464f31908
commit 56b04a40d8
6 changed files with 16 additions and 18 deletions

View File

@ -74,7 +74,7 @@ class ViewAction(InterfaceAction):
def clear_history(self):
db = self.gui.current_db
db.prefs['gui_view_history'] = []
db.new_api.set_pref('gui_view_history', [])
self.build_menus(db)
def view_historical(self, id_):
@ -272,12 +272,12 @@ class ViewAction(InterfaceAction):
seen.add(title)
history.append((id_, title))
db.prefs['gui_view_history'] = history[:vh]
db.new_api.set_pref('gui_view_history', history[:vh])
self.build_menus(db)
if remove:
history = db.prefs.get('gui_view_history', [])
history = [x for x in history if x[0] not in remove]
db.prefs['gui_view_history'] = history[:vh]
db.new_api.set_pref('gui_view_history', history[:vh])
self.build_menus(db)
def view_device_book(self, path):

View File

@ -230,10 +230,8 @@ class CheckLibraryDialog(QDialog):
return True
def accept(self):
self.db.prefs['check_library_ignore_extensions'] = \
unicode(self.ext_ignores.text())
self.db.prefs['check_library_ignore_names'] = \
unicode(self.name_ignores.text())
self.db.new_api.set_pref('check_library_ignore_extensions', unicode(self.ext_ignores.text()))
self.db.new_api.set_pref('check_library_ignore_names', unicode(self.name_ignores.text()))
QDialog.accept(self)
def box_to_list(self, txt):

View File

@ -341,13 +341,13 @@ class VLTabs(QTabBar): # {{{
self.gui.apply_virtual_library(vl, update_tabs=False)
def tab_moved(self, from_, to):
self.current_db.prefs['virt_libs_order'] = [unicode(self.tabData(i) or '') for i in range(self.count())]
self.current_db.new_api.set_pref('virt_libs_order', [unicode(self.tabData(i) or '') for i in range(self.count())])
def tab_close(self, index):
vl = unicode(self.tabData(index) or '')
if vl: # Dont allow closing the All Books tab
self.current_db.prefs['virt_libs_hidden'] = list(
self.current_db.prefs['virt_libs_hidden']) + [vl]
self.current_db.new_api.set_pref('virt_libs_hidden', list(
self.current_db.prefs['virt_libs_hidden']) + [vl])
self.removeTab(index)
@property
@ -368,14 +368,14 @@ class VLTabs(QTabBar): # {{{
hidden = set(db.prefs['virt_libs_hidden'])
if hidden - virt_libs:
hidden = hidden.intersection(virt_libs)
db.prefs['virt_libs_hidden'] = list(hidden)
db.new_api.set_pref('virt_libs_hidden', list(hidden))
order = db.prefs['virt_libs_order']
while self.count():
self.removeTab(0)
current_lib = db.data.get_base_restriction_name()
if current_lib in hidden:
hidden.discard(current_lib)
db.prefs['virt_libs_hidden'] = list(hidden)
db.new_api.set_pref('virt_libs_hidden', list(hidden))
current_idx = all_idx = None
virt_libs = (set(virt_libs) - hidden) | {''}
order = {x:i for i, x in enumerate(order)}
@ -417,12 +417,12 @@ class VLTabs(QTabBar): # {{{
m.exec_(ev.globalPos())
def sort_alphabetically(self):
self.current_db.prefs['virt_libs_order'] = ()
self.current_db.new_api.set_pref('virt_libs_order', ())
self.rebuild()
def restore(self, x):
h = self.current_db.prefs['virt_libs_hidden']
self.current_db.prefs['virt_libs_hidden'] = list(set(h) - {x})
self.current_db.new_api.set_pref('virt_libs_hidden', list(set(h) - {x}))
self.rebuild()
# }}}

View File

@ -610,7 +610,7 @@ class BooksView(QTableView): # {{{
except:
pass
if ans is not None:
db.prefs[name] = ans
db.new_api.set_pref(name, ans)
else:
injected = False
if not ans.get('last_modified_injected', False):
@ -626,7 +626,7 @@ class BooksView(QTableView): # {{{
if 'languages' not in hc:
hc.append('languages')
if injected:
db.prefs[name] = ans
db.new_api.set_pref(name, ans)
return ans
def restore_state(self):

View File

@ -83,7 +83,7 @@ class DisplayedFields(QAbstractListModel): # {{{
def commit(self):
if self.changed:
self.db.prefs['book_display_fields'] = self.fields
self.db.new_api.set_pref('book_display_fields', self.fields)
def move(self, idx, delta):
row = idx.row() + delta

View File

@ -876,7 +876,7 @@ class Main(MainWindow, MainWindowMixin, DeviceMixin, EmailMixin, # {{{
cf()
# Save the current field_metadata for applications like calibre2opds
# Goes here, because if cf is valid, db is valid.
db.prefs['field_metadata'] = db.field_metadata.all_metadata()
db.new_api.set_pref('field_metadata', db.field_metadata.all_metadata())
db.commit_dirty_cache()
db.prefs.write_serialized(prefs['library_path'])
for action in self.iactions.values():