diff options
author | Philipp Hörist <forenjunkie@chello.at> | 2017-06-25 21:42:15 +0300 |
---|---|---|
committer | Philipp Hörist <forenjunkie@chello.at> | 2017-06-25 23:34:14 +0300 |
commit | 6a49e2d869d4e04b7fac56465182fac65b38dfb5 (patch) | |
tree | 31be2ea838125642bc7b2320268e24adc49494f8 /src | |
parent | b5d3578e39b94e4f87c5a933557766d26930fd70 (diff) |
Fix plugin installation from zip
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/gui.py | 4 | ||||
-rw-r--r-- | src/plugins/pluginmanager.py | 8 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/plugins/gui.py b/src/plugins/gui.py index b31870781..15aee4295 100644 --- a/src/plugins/gui.py +++ b/src/plugins/gui.py @@ -281,7 +281,7 @@ class PluginsWindow(object): for i, row in enumerate(model): if plugin == row[Column.PLUGIN]: - model.remove(model.get_iter((i, Column.PLUGIN))) + model.remove(row.iter) break iter_ = model.append([plugin, plugin.name, False, @@ -308,7 +308,7 @@ class PluginsWindow(object): return model = self.installed_plugins_model iter_ = model.append([plugin, plugin.name, False, - plugin.activatable], self.get_plugin_icon(plugin)) + plugin.activatable, self.get_plugin_icon(plugin)]) sel = self.installed_plugins_treeview.get_selection() sel.select_iter(iter_) diff --git a/src/plugins/pluginmanager.py b/src/plugins/pluginmanager.py index dc7e867eb..13c64b499 100644 --- a/src/plugins/pluginmanager.py +++ b/src/plugins/pluginmanager.py @@ -573,7 +573,7 @@ class PluginManager(metaclass=Singleton): def install_from_zip(self, zip_filename, owerwrite=None): ''' - Install plagin from zip and return plugin + Install plugin from zip and return plugin ''' try: zip_file = zipfile.ZipFile(zip_filename) @@ -595,7 +595,7 @@ class PluginManager(metaclass=Singleton): # members not safe raise PluginsystemError(_('Archive is malformed')) if filename.endswith('/') and filename.find('/', 0, -1) < 0: - dirs.append(filename) + dirs.append(filename.strip('/')) if 'manifest.ini' in filename.split('/')[1]: manifest = True if not manifest: @@ -614,8 +614,8 @@ class PluginManager(metaclass=Singleton): zip_file.extractall(user_dir) zip_file.close() - path = os.path.join(user_dir, dirs[0]) - plugins = self.scan_dir_for_plugins(plugin_dir, False) + + plugins = self.scan_dir_for_plugins(plugin_dir, package=True) if not plugins: return self.add_plugin(plugins[0]) |