Use the new get_item_id case_sensitive parameter in formatter functions and the tag browser.

This commit is contained in:
Charles Haley 2024-09-15 12:26:47 +01:00
parent b9cb69ae6e
commit ccd4f82b3f
3 changed files with 6 additions and 6 deletions

View File

@ -1619,7 +1619,7 @@ class TagsModel(QAbstractItemModel): # {{{
for val, key, _ in user_cats[cat]:
datatype = cache.field_metadata.get(key, {}).get('datatype', '*****')
if datatype != 'composite':
id_ = cache.get_item_id(key, val)
id_ = cache.get_item_id(key, val, case_sensitive=True)
if id_ is not None:
v = cache.books_for_field(key, id_)
if v:

View File

@ -595,7 +595,7 @@ class TagsView(QTreeView): # {{{
x = self.mouse_clicked_point.x()
if self.click_in_button_range(x, category, orig_name, 'notes'):
from calibre.gui2.dialogs.show_category_note import ShowNoteDialog
item_id = db.get_item_id(category, orig_name)
item_id = db.get_item_id(category, orig_name, case_sensitive=True)
if db.notes_for(category, item_id):
ShowNoteDialog(category, item_id, db, parent=self).show()
return
@ -941,7 +941,7 @@ class TagsView(QTreeView): # {{{
key=key))
if self.db.new_api.field_supports_notes(key):
item_id = self.db.new_api.get_item_id(tag.category, tag.original_name)
item_id = self.db.new_api.get_item_id(tag.category, tag.original_name, case_sensitive=True)
has_note = self._model.item_has_note(key, tag.original_name)
self.context_menu.addAction(self.edit_metadata_icon,
(_('Edit note for %s') if has_note else _('Create note for %s'))%display_name(tag),

View File

@ -2064,7 +2064,7 @@ class BuiltinGetLink(BuiltinFormatterFunction):
db = self.get_database(mi).new_api
try:
link = None
item_id = db.get_item_id(field_name, field_value)
item_id = db.get_item_id(field_name, field_value, case_sensitive=True)
if item_id is not None:
link = db.link_for(field_name, item_id)
return link if link is not None else ''
@ -2587,7 +2587,7 @@ class BuiltinGetNote(BuiltinFormatterFunction):
db = self.get_database(mi).new_api
try:
note = None
item_id = db.get_item_id(field_name, field_value)
item_id = db.get_item_id(field_name, field_value, case_sensitive=True)
if item_id is not None:
note = db.notes_data_for(field_name, item_id)
if note is not None:
@ -2634,7 +2634,7 @@ class BuiltinHasNote(BuiltinFormatterFunction):
db = self.get_database(mi).new_api
note = None
try:
item_id = db.get_item_id(field_name, field_value)
item_id = db.get_item_id(field_name, field_value, case_sensitive=True)
if item_id is not None:
note = db.notes_data_for(field_name, item_id)
except Exception as e: