diff --git a/src/calibre/customize/builtins.py b/src/calibre/customize/builtins.py index 6abf7b4808..fb06ce4115 100644 --- a/src/calibre/customize/builtins.py +++ b/src/calibre/customize/builtins.py @@ -1048,6 +1048,11 @@ class InputOptions(PreferencesPlugin): config_widget = 'calibre.gui2.preferences.conversion:InputOptions' description = _('Set conversion options specific to each input format') + def create_widget(self, *args, **kwargs): + # The DOC Input plugin tries to override this + self.config_widget = 'calibre.gui2.preferences.conversion:InputOptions' + return PreferencesPlugin.create_widget(self, *args, **kwargs) + class CommonOptions(PreferencesPlugin): name = 'Common Options' icon = I('convert.png') diff --git a/src/calibre/gui2/convert/__init__.py b/src/calibre/gui2/convert/__init__.py index 3e2a8bde3d..a642bc6cca 100644 --- a/src/calibre/gui2/convert/__init__.py +++ b/src/calibre/gui2/convert/__init__.py @@ -27,13 +27,14 @@ def config_widget_for_input_plugin(plugin): 'calibre.gui2.convert.'+name).PluginWidget except ImportError: # If this is not a builtin plugin, we have to import it differently - try: - ans = importlib.import_module(plugin.__module__+'.'+name).PluginWidget - except (ImportError, AttributeError, TypeError): - pass - else: - if issubclass(ans, Widget): - return ans + if plugin.__module__ and plugin.__module__.startswith('calibre_plugins.'): + try: + ans = importlib.import_module(plugin.__module__+'.'+name).PluginWidget + except (ImportError, AttributeError, TypeError): + pass + else: + if issubclass(ans, Widget): + return ans def bulk_defaults_for_input_format(fmt): plugin = plugin_for_input_format(fmt)