From 3832b592f57f1e3be1a1605675537fc5fb57eee7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Philipp=20H=C3=B6rist?= <philipp@hoerist.com>
Date: Sat, 4 Jan 2020 16:33:03 +0100
Subject: [PATCH] [plugin_installer] Handle case when no plugins are available

---
 plugin_installer/plugin_installer.py | 3 +++
 plugin_installer/widget.py           | 5 ++++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/plugin_installer/plugin_installer.py b/plugin_installer/plugin_installer.py
index c4cdcbf7..b79fe8c4 100644
--- a/plugin_installer/plugin_installer.py
+++ b/plugin_installer/plugin_installer.py
@@ -161,6 +161,9 @@ class PluginInstaller(GajimPlugin):
             return
 
         plugin_list = parse_manifests_zip(data)
+        if not plugin_list:
+            log.warning('No plugins found in zip')
+
         if self._available_page is None:
             return
         self._available_page.append_plugins(plugin_list)
diff --git a/plugin_installer/widget.py b/plugin_installer/widget.py
index 6a4141ff..6a5d9da3 100644
--- a/plugin_installer/widget.py
+++ b/plugin_installer/widget.py
@@ -58,7 +58,10 @@ class AvailablePage(Observable):
     def append_plugins(self, plugins):
         for plugin in plugins:
             self._ui.plugin_store.append(plugin.fields)
-        self._select_first_plugin()
+
+        if plugins:
+            self._select_first_plugin()
+
         self._update_install_button()
         self._ui.spinner.stop()
         self._ui.spinner.hide()
-- 
GitLab