From 28f62fd4dd718049c837dc39ab274222d0d803d3 Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Mon, 6 Sep 2010 18:32:03 +0100 Subject: [PATCH] 1) take db.clean out of metadata_single.py 2) add db.clean to shutdown func 3) add db.clean to 2 cli funcs that can delete an author 4) add db.ondevice() to return the ondevice string --- src/calibre/gui2/dialogs/metadata_single.py | 1 - src/calibre/gui2/ui.py | 1 + src/calibre/library/cli.py | 2 ++ src/calibre/library/database2.py | 2 +- 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/calibre/gui2/dialogs/metadata_single.py b/src/calibre/gui2/dialogs/metadata_single.py index 82b6ac8cbf..1393a50738 100644 --- a/src/calibre/gui2/dialogs/metadata_single.py +++ b/src/calibre/gui2/dialogs/metadata_single.py @@ -760,7 +760,6 @@ class MetadataSingleDialog(ResizableDialog, Ui_MetadataSingleDialog): _('Could not open %s. Is it being used by another' ' program?')%fname, show=True) raise - self.db.clean() self.save_state() QDialog.accept(self) if callable(self.accepted_callback): diff --git a/src/calibre/gui2/ui.py b/src/calibre/gui2/ui.py index 84f5a1a2c9..d84dea7376 100644 --- a/src/calibre/gui2/ui.py +++ b/src/calibre/gui2/ui.py @@ -522,6 +522,7 @@ class Main(MainWindow, MainWindowMixin, DeviceMixin, # {{{ def shutdown(self, write_settings=True): + self.db.clean() for action in self.iactions.values(): if not action.shutting_down(): return diff --git a/src/calibre/library/cli.py b/src/calibre/library/cli.py index ea42fe5998..c17911cc3a 100644 --- a/src/calibre/library/cli.py +++ b/src/calibre/library/cli.py @@ -324,6 +324,7 @@ def do_remove(db, ids): db.delete_book(y) send_message() + db.clean() def remove_option_parser(): return get_parser(_( @@ -449,6 +450,7 @@ def command_show_metadata(args, dbpath): def do_set_metadata(db, id, stream): mi = OPF(stream) db.set_metadata(id, mi) + db.clean() do_show_metadata(db, id, False) send_message() diff --git a/src/calibre/library/database2.py b/src/calibre/library/database2.py index 93c42ea342..23ec60d320 100644 --- a/src/calibre/library/database2.py +++ b/src/calibre/library/database2.py @@ -332,7 +332,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): for prop in ('author_sort', 'authors', 'comment', 'comments', 'isbn', 'publisher', 'rating', 'series', 'series_index', 'tags', - 'title', 'timestamp', 'uuid', 'pubdate'): + 'title', 'timestamp', 'uuid', 'pubdate', 'ondevice'): setattr(self, prop, functools.partial(get_property, loc=self.FIELD_MAP['comments' if prop == 'comment' else prop])) setattr(self, 'title_sort', functools.partial(get_property,