From d27dd26a6113ceeac7b5a20d9cd4598c23d5665a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Fri, 31 Mar 2017 17:32:41 +0200 Subject: [PATCH] PMGR: Also allow filtering notices against affected OctoPrint versions --- src/octoprint/plugins/pluginmanager/__init__.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/octoprint/plugins/pluginmanager/__init__.py b/src/octoprint/plugins/pluginmanager/__init__.py index bf3ef562..65b2d480 100644 --- a/src/octoprint/plugins/pluginmanager/__init__.py +++ b/src/octoprint/plugins/pluginmanager/__init__.py @@ -820,21 +820,26 @@ class PluginManagerPlugin(octoprint.plugin.SimpleApiPlugin, def _get_notifications(self, plugin): key = plugin.key + if not plugin.enabled: + return + if key not in self._notices: return + octoprint_version = self._get_octoprint_version(base=True) plugin_notifications = self._notices.get(key, []) - def filter_versions(notification): + def filter_relevant(notification): return "text" in notification and "date" in notification and \ - ("versions" not in notification or plugin.version in notification["versions"]) + ("versions" not in notification or plugin.version in notification["versions"]) and \ + ("octoversions" not in notification or self._is_octoprint_compatible(octoprint_version, notification["octoversions"])) def map_notification(notification): return self._to_external_notification(key, notification) return filter(lambda x: x is not None, map(map_notification, - filter(filter_versions, + filter(filter_relevant, plugin_notifications))) def _to_external_notification(self, key, notification):