From d85f985e9c74a908e417f6118e209add0f491274 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 19 Jan 2017 10:42:07 +0530 Subject: [PATCH] Fix installed status for plugins that have a different name in the MR index than the name defined in the plugin index --- src/calibre/gui2/dialogs/plugin_updater.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/calibre/gui2/dialogs/plugin_updater.py b/src/calibre/gui2/dialogs/plugin_updater.py index 64ed0c1d2e..3bc09171c0 100644 --- a/src/calibre/gui2/dialogs/plugin_updater.py +++ b/src/calibre/gui2/dialogs/plugin_updater.py @@ -90,7 +90,7 @@ def get_installed_plugin_status(display_plugin): display_plugin.installed_version = None display_plugin.plugin = None for plugin in initialized_plugins(): - if plugin.name == display_plugin.name and plugin.plugin_path is not None: + if plugin.name == display_plugin.qname and plugin.plugin_path is not None: display_plugin.plugin = plugin display_plugin.installed_version = plugin.version break @@ -196,6 +196,7 @@ class DisplayPlugin(object): def __init__(self, plugin): self.name = plugin['index_name'] + self.qname = plugin.get('name', self.name) self.forum_link = plugin['thread_url'] self.zip_url = SERVER + plugin['file'] self.installed_version = None @@ -664,7 +665,7 @@ class PluginUpdaterDialog(SizePersistedDialog): if DEBUG: prints('Removing uninstall dependency for: ', display_plugin.name) display_plugin.uninstall_plugins.remove(name_to_remove) - if display_plugin.name == name_to_remove: + if display_plugin.qname == name_to_remove: if DEBUG: prints('Resetting plugin to uninstalled status: ', display_plugin.name) display_plugin.installed_version = None @@ -679,7 +680,7 @@ class PluginUpdaterDialog(SizePersistedDialog): _('Are you sure you want to uninstall the %s plugin?')%display_plugin.name, show_copy_button=False): return - self._uninstall_plugin(display_plugin.name) + self._uninstall_plugin(display_plugin.qname) if self.proxy_model.filter_criteria in [FILTER_INSTALLED, FILTER_UPDATE_AVAILABLE]: self.model.beginResetModel(), self.model.endResetModel() self._select_and_focus_view()