From 7a9dc00e0ff62d24428607b935781f4729f2e0b5 Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Thu, 2 Sep 2010 09:29:14 +0100 Subject: [PATCH] Tweak to automatically add a tag to newly added books. --- resources/default_tweaks.py | 7 ++++++- src/calibre/library/database2.py | 11 +++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/resources/default_tweaks.py b/resources/default_tweaks.py index e03b0680be..43edd1c690 100644 --- a/resources/default_tweaks.py +++ b/resources/default_tweaks.py @@ -90,4 +90,9 @@ save_template_title_series_sorting = 'library_order' # Examples: # auto_connect_to_folder = 'C:\\Users\\someone\\Desktop\\testlib' # auto_connect_to_folder = '/home/dropbox/My Dropbox/someone/library' -auto_connect_to_folder = '' \ No newline at end of file +auto_connect_to_folder = '' + + +# Specify a tag to be automatically applied when a book is added to the library. +# Example: add_tag_to_new_books='ToDo' +add_tag_to_new_books = '' diff --git a/src/calibre/library/database2.py b/src/calibre/library/database2.py index ba4095fbc5..e406fb8766 100644 --- a/src/calibre/library/database2.py +++ b/src/calibre/library/database2.py @@ -1681,7 +1681,16 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): path = path_or_stream return run_plugins_on_import(path, format) + def _add_newbook_tag(self, mi): + tag = tweaks['add_tag_to_new_books'] + if tag: + if mi.tags is None: + mi.tags = [tag] + else: + mi.tags.append(tag) + def create_book_entry(self, mi, cover=None, add_duplicates=True): + self._add_newbook_tag(mi) if not add_duplicates and self.has_book(mi): return None series_index = 1.0 if mi.series_index is None else mi.series_index @@ -1720,6 +1729,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): ids = [] for path in paths: mi = metadata.next() + self._add_newbook_tag(mi) format = formats.next() if not add_duplicates and self.has_book(mi): duplicates.append((path, format, mi)) @@ -1760,6 +1770,7 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): def import_book(self, mi, formats, notify=True, import_hooks=True): series_index = 1.0 if mi.series_index is None else mi.series_index + self._add_newbook_tag(mi) if not mi.title: mi.title = _('Unknown') if not mi.authors: