From f617b4b0be5e8581a0f5c83e1d46c454ac4e56dc Mon Sep 17 00:00:00 2001 From: Milan Nikolic Date: Mon, 8 May 2017 12:44:02 +0200 Subject: [PATCH] Don't crash if plugin is missing, this should fix #106 --- src/m64py/core/core.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/m64py/core/core.py b/src/m64py/core/core.py index 9afe79c..f4992a7 100644 --- a/src/m64py/core/core.py +++ b/src/m64py/core/core.py @@ -248,10 +248,15 @@ class Core: self.plugins = plugins for plugin_type in PLUGIN_ORDER: plugin = self.plugins[plugin_type] + if not plugin: plugin_map = list(self.plugin_map[plugin_type].values())[0] else: - plugin_map = self.plugin_map[plugin_type][plugin] + try: + plugin_map = self.plugin_map[plugin_type][plugin] + except KeyError: + continue + (plugin_handle, plugin_path, plugin_name, plugin_desc, plugin_version) = plugin_map @@ -271,10 +276,15 @@ class Core: and re-attaches the 'dummy' plugin functions.""" for plugin_type in PLUGIN_ORDER: plugin = self.plugins[plugin_type] + if not plugin: plugin_map = list(self.plugin_map[plugin_type].values())[0] else: - plugin_map = self.plugin_map[plugin_type][plugin] + try: + plugin_map = self.plugin_map[plugin_type][plugin] + except KeyError: + continue + (plugin_handle, plugin_path, plugin_name, plugin_desc, plugin_version) = plugin_map