From 544809a5abc14506ad8fd292b41b335fdfdbeb38 Mon Sep 17 00:00:00 2001 From: NiLuJe Date: Tue, 4 Jun 2024 19:40:04 +0200 Subject: [PATCH] OPDS: Don't append Search twice for feeds with an OpenSearchDescription --- plugins/opds.koplugin/opdsbrowser.lua | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/opds.koplugin/opdsbrowser.lua b/plugins/opds.koplugin/opdsbrowser.lua index 671c3ec66c57..d8b5cded346d 100644 --- a/plugins/opds.koplugin/opdsbrowser.lua +++ b/plugins/opds.koplugin/opdsbrowser.lua @@ -345,6 +345,7 @@ function OPDSBrowser:genItemTableFromCatalog(catalog, item_url) return url.absolute(item_url, href) end + local has_opensearch = false local hrefs = {} if feed.link then for __, link in ipairs(feed.link) do @@ -362,11 +363,12 @@ function OPDSBrowser:genItemTableFromCatalog(catalog, item_url) url = build_href(self:getSearchTemplate(build_href(link.href))), searchable = true, }) + has_opensearch = true end end - -- Calibre search + -- Calibre search (also matches the actual template for OpenSearch!) if link.type:find(self.search_template_type) and link.rel and link.rel:find("search") then - if link.href then + if link.href and not has_opensearch then table.insert(item_table, { text = "\u{f002} " .. _("Search"), url = build_href(link.href:gsub("{searchTerms}", "%%s")),