From ccbcd938f20f0f196fe61fe8ab9e5706188bcb32 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 3 Apr 2025 08:02:52 +0530 Subject: [PATCH] Allow notifying a set of changed notes in a single event --- src/calibre/db/cache.py | 6 +++--- src/calibre/db/listeners.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/calibre/db/cache.py b/src/calibre/db/cache.py index 05bf3dfcc5..71c9d0497a 100644 --- a/src/calibre/db/cache.py +++ b/src/calibre/db/cache.py @@ -717,7 +717,7 @@ class Cache: resources, note that updating a note automatically cleans up resources pertaining to that note anyway. ''' ans = self.backend.set_notes_for(field, item_id, doc, searchable_text, resource_hashes, remove_unused_resources) - self.event_dispatcher(EventType.notes_changed, field, item_id) + self.event_dispatcher(EventType.notes_changed, field, {item_id}) return ans @write_api @@ -739,7 +739,7 @@ class Cache: def unretire_note_for(self, field, item_id) -> int: ' Unretire a previously retired note for the specified item. Notes are retired when an item is removed from the database ' ans = self.backend.unretire_note_for(field, item_id) - self.event_dispatcher(EventType.notes_changed, field, item_id) + self.event_dispatcher(EventType.notes_changed, field, {item_id}) return ans @read_api @@ -761,7 +761,7 @@ class Cache: ctime, mtime = st.st_ctime, st.st_mtime basedir = os.path.dirname(os.path.abspath(path_to_html_file)) ans = self.backend.import_note(field, item_id, html, basedir, ctime, mtime) - self.event_dispatcher(EventType.notes_changed, field, item_id) + self.event_dispatcher(EventType.notes_changed, field, {item_id}) return ans @write_api # we need to use write locking as SQLITE gives a locked table error if multiple FTS queries are made at the same time diff --git a/src/calibre/db/listeners.py b/src/calibre/db/listeners.py index a372aa41c6..146e783e92 100644 --- a/src/calibre/db/listeners.py +++ b/src/calibre/db/listeners.py @@ -43,7 +43,7 @@ class EventType(Enum): #: When the indexing progress changes indexing_progress_changed = auto() - #: When the notes associated with an item are changed, with arguments: (field_name, item_id) + #: When the notes associated with an item are changed, with arguments: (field_name, item_ids) notes_changed = auto()