From 19937d1be07eb919ae1f6f791216c95fc2ffcdbc Mon Sep 17 00:00:00 2001 From: Lipu Fei Date: Fri, 6 Apr 2018 10:34:53 +0200 Subject: [PATCH] Fix version comparison in plugin browser CURA-5202 It was comparing with itself so there's never a version upgrade. --- plugins/PluginBrowser/PluginBrowser.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/plugins/PluginBrowser/PluginBrowser.py b/plugins/PluginBrowser/PluginBrowser.py index 8912a7a202..518528f776 100644 --- a/plugins/PluginBrowser/PluginBrowser.py +++ b/plugins/PluginBrowser/PluginBrowser.py @@ -301,19 +301,18 @@ class PluginBrowser(QObject, Extension): return self._plugins_model + def _checkCanUpgrade(self, plugin_id, version): + if plugin_id not in self._plugin_registry.getInstalledPlugins(): + return False - - def _checkCanUpgrade(self, id, version): - - # TODO: This could maybe be done more efficiently using a dictionary... - + plugin_object = self._plugin_registry.getPluginObject(plugin_id) # Scan plugin server data for plugin with the given id: for plugin in self._plugins_metadata: - if id == plugin["id"]: - reg_version = Version(version) + if plugin_id == plugin["id"]: + reg_version = Version(plugin_object.getVersion()) new_version = Version(plugin["version"]) if new_version > reg_version: - Logger.log("i", "%s has an update availible: %s", plugin["id"], plugin["version"]) + Logger.log("i", "%s has an update available: %s", plugin["id"], plugin["version"]) return True return False