def _fail_because_of_nonexisting_plugin(self, plugin_name):
        if not self.plugins_loaded:
            warnings.warn('Tried getting a plugin without first loading the plugin manager.')
        e_msg = (plugin_name, ) % 'invalid plugin name: "%s" '
        details = dict(
            available_plugins=sorted(self._plugin_factory_by_name.keys()),
            interface=self.plugin_interface.__name__,
            packages=sorted([package.__name__ for package in self.plugin_packages + self._get_bundled_packages()]),
        )
        detail = ('No plugin with the provided name was found.\n\nAvailable plugins: %(available_plugins)s\n\n'
                  'Looking for plugins implementing this interface: %(interface)s\n\n'
                  '... in these packages: %(packages)s\n' % details)
        hint = ('If you have not simply misspelled, ensure that the right interfaces are implemented '
                'and that the right packages are loaded. ')
        raise exceptions.ConfigurationError(e_msg, detail, hint)
dataset/ETHPy150Open foundit/Piped/piped/plugin.py/PluginManager._fail_because_of_nonexisting_plugin/swapped operands of `%`