def diagnose_configurator_problem(cfg_type, requested, plugins):
 if requested:
  if (requested not in plugins):
   msg = 'The requested {0} plugin does not appear to be installed'.format(requested)
  else:
   msg = 'The {0} plugin is not working; there may be problems with your existing configuration.\nThe error was: {1!r}'.format(requested, plugins[requested].problem)
 elif (cfg_type == 'installer'):
  from certbot.cli import cli_command
  msg = 'Certbot doesn\'t know how to automatically configure the web server on this system. However, it can still get a certificate for you. Please run "{0} certonly" to do so. You\'ll need to manually configure your web server to use the resulting certificate.'.format(cli_command)
 else:
  msg = '{0} could not be determined or is not installed'.format(cfg_type)
 raise errors.PluginSelectionError(msg)

def diagnose_configurator_problem ( cfg_type , requested , plugins ) : if requested : if ( requested not in plugins ) : msg = 'The requested {0} plugin does not appear to be installed' . format ( requested ) else : msg = 'The {0} plugin is not working; there may be problems with your existing configuration.\nThe error was: {1!r}' . format ( requested , plugins [ requested ] . problem ) elif ( cfg_type == 'installer' ) : from certbot . cli import cli_command msg = 'Certbot doesn\'t know how to automatically configure the web server on this system. However, it can still get a certificate for you. Please run "{0} certonly" to do so. You\'ll need to manually configure your web server to use the resulting certificate.' . format ( cli_command ) else : msg = '{0} could not be determined or is not installed' . format ( cfg_type ) raise errors . PluginSelectionError ( msg )
raise the most helpful error message about a plugin being unavailable .